QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1639|回复: 1

菜鸟请教:2.4dup_task_struct的疑惑

[复制链接]
发表于 2005-8-19 22:46:19 | 显示全部楼层 |阅读模式
搞不明白为什么会有tsk这么一个东西

static struct task_struct *dup_task_struct(struct task_struct *orig)
{
        struct task_struct *tsk;
        int cpu = smp_processor_id();

        tsk = task_cache[cpu];
        task_cache[cpu] = NULL;
                /*task_cache定义为一个static全局数组,不论什么时候task_cacke[cpu]总是NULL,内核为什么要搞这么一段东西?直接__alloc_task_struct()不就是了嘛*/
        if (!tsk) {
                tsk = __alloc_task_struct();
                if (!tsk)
                        return NULL;
        }

        memcpy(tsk, orig, sizeof(*tsk));
        atomic_set(&tsk->usage,1);
        return tsk;
}
发表于 2005-8-30 14:18:27 | 显示全部楼层
可能是要考虑SMP的情况吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 12:50 , Processed in 0.156413 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表