lkml.org 
[lkml]   [2009]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH -v7][RFC]: mutex: implement adaptive spinning
    From
    Date
    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


    \
     
     \ /
      Last update: 2009-01-09 19:19    [W:0.068 / U:0.644 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site