Messages in this thread | | | Date | Wed, 25 May 2011 11:24:30 +0800 | Subject | Re: [PATCH] sched: fix need_resched() when checking peempt | From | Yong Zhang <> |
| |
On Tue, May 24, 2011 at 9:50 PM, Hillf Danton <dhillf@gmail.com> wrote: > On Tue, May 24, 2011 at 9:39 PM, Steven Rostedt <rostedt@goodmis.org> 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@gmail.com>
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?
Thanks, Yong
-- Only stand for myself
| |