lkml.org 
[lkml]   [2010]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] rtmutex: ensure only the top waiter or higher priority task can take the lock and reduce unrelated boosting
From
Date
On Thu, 2010-12-16 at 09:14 +0800, Lai Jiangshan wrote:

> It has called try_to_take_rt_mutex() in __rt_mutex_slowlock(),
> when timeout or got signal, it returns from __rt_mutex_slowlock()
> with lock->wait_lock still held, and then calls remove_waiter(),
>
> so we don't need to call try_to_take_rt_mutex() in remove_waiter().
> It is strange that remove_waiter() do some "require lock" work.

Hmm yeah, I need to remember all the details here. There were so many
corner cases that had to be dealt with, but we have also
modified/simplified the code over time (hopefully your patch will add to
the simplification) that my worries may no longer exist, and the code in
-rt (needed for spinlock -> mutex) may have legacy code there too.

I'll spend more time analyzing this and make sure we in deed do not need
to worry about races between wakeups and lock releasing.

Thanks,

-- Steve




\
 
 \ /
  Last update: 2010-12-16 14:59    [W:0.173 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site