Re: [PATCH] sched: fix need_resched() when checking peempt
From: Yong Zhang
Date: Wed May 25 2011 - 00:34:37 EST
On Wed, May 25, 2011 at 11:24 AM, Yong Zhang <yong.zhang0@xxxxxxxxx> wrote:
> On Tue, May 24, 2011 at 9:50 PM, Hillf Danton <dhillf@xxxxxxxxx> wrote:
>> On Tue, May 24, 2011 at 9:39 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>>> On Tue, 2011-05-24 at 21:27 +0800, Hillf Danton wrote:
>>>> When checking if current task could be preempted by a newly woken task,
>>>> further check could be bypassed if the current thread is different from
>>>> the current task of run-queue, and it is corrected accordingly.
>>>
>>> Ug, that change log is an obfuscated mess. But looking at the actual
>>> patch, I figured what you wanted to say. How about this:
>>>
>>> ----
>>> The RT preempt check tests the wrong task if NEED_RESCHED is set. It
>>> currently checks the local CPU task. It is suppose to check the task
>>> that is running on the run queue we are about to wake another task on.
>>> ----
>>>
>> Thanks, it is great changelog:)
>
> Good catch.
>
> Reviewed-by: Yong Zhang <yong.zhang0@xxxxxxxxx>
>
> BTW, this may be the reason for we could trigger
> WARN_ON_ONCE(test_tsk_need_resched(next));
> https://lkml.org/lkml/2010/12/20/28
>
> Peter, Mike, how do you think about it?
Since rq->lock protects both, that issue needs more digging :)
>
> Thanks,
> Yong
>
>
> --
> Only stand for myself
>
--
Only stand for myself
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/