Messages in this thread Patch in this message | | | Subject | Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning | From | Peter Zijlstra <> | Date | Fri, 09 Jan 2009 19:16:04 +0100 |
| |
On Fri, 2009-01-09 at 11:44 -0500, Steven Rostedt wrote:
> When we get to the schedule() it then needs to be a: > > preempt_enable_no_resched(); > schedule();
On that note:
Index: linux-2.6/kernel/mutex.c =================================================================== --- linux-2.6.orig/kernel/mutex.c +++ linux-2.6/kernel/mutex.c @@ -220,7 +220,9 @@ __mutex_lock_common(struct mutex *lock, __set_task_state(task, state); /* didnt get the lock, go to sleep: */ + preempt_disable(); spin_unlock_mutex(&lock->wait_lock, flags); + preempt_enable_no_resched(); schedule(); spin_lock_mutex(&lock->wait_lock, flags); }
actually improves mutex performance on PREEMPT=y
| |