Messages in this thread Patch in this message |  | | | Date | Tue, 7 Jun 2011 21:41:03 +0800 | | Subject | [PATCH] sched: correct testing need_resched in mutex_spin_on_owner() | | From | Hillf Danton <> |
| |
It is suppose to check the owner task that is not absolutly running on the local CPU, and if NEED_RESCHED is happenly set on the current task of local CPU, we get incorrect result.
Signed-off-by: Hillf Danton <dhillf@gmail.com> --- kernel/sched.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c index fd18f39..3ea64fe 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4326,7 +4326,7 @@ int mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner) return 0;
while (owner_running(lock, owner)) { - if (need_resched()) + if (test_tsk_need_resched(owner)) return 0;
arch_mutex_cpu_relax();
|  |