什么linux内核C函数schedule()出现“need_resched:”意思

时间:2016-10-01 02:01:33

标签: linux scheduling

need_resched:
preempt_disable();
cpu = smp_processor_id();
rq = cpu_rq(cpu);
rcu_note_context_switch(cpu);
prev = rq->curr;
switch_count = &prev->nivcsw;

release_kernel_lock(prev);

我想问的是:“need_resched:”是什么角色。

详细说明,Linux内核版本是2.6.35.3。

1 个答案:

答案 0 :(得分:0)

need_schedule:只是一个标签。稍后在代码中你会发现:

if (need_resched())
    goto need_resched;

即,如果设置了重新安排标志(由need_reschedule()测试的内容),则代码中的这一点将被执行(再次)。