[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160522093828.GM3193@twins.programming.kicks-ass.net>
Date: Sun, 22 May 2016 11:38:28 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Manfred Spraul <manfred@...orfullife.com>
Cc: Boqun Feng <boqun.feng@...il.com>,
Davidlohr Bueso <dave@...olabs.net>, Waiman.Long@....com,
mingo@...nel.org, torvalds@...ux-foundation.org,
ggherdovich@...e.com, mgorman@...hsingularity.net,
linux-kernel@...r.kernel.org,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Will Deacon <will.deacon@....com>
Subject: Re: sem_lock() vs qspinlocks
On Sun, May 22, 2016 at 10:43:08AM +0200, Manfred Spraul wrote:
> How would we handle mixed spin_lock()/mutex_lock() code?
> For the IPC code, I would like to replace the outer lock with a mutex.
> The code only uses spinlocks, because at the time it was written, the mutex
> code didn't contain a busy wait.
> With a mutex, the code would become simpler (all the
> lock/unlock/kmalloc/relock parts could be removed).
>
> The result would be something like:
>
> mutex_lock(A) spin_lock(B)
> spin_unlock_wait(B) if (!mutex_is_locked(A))
> do_something() do_something()
>
Should work similarly, but we'll have to audit mutex for these same
issues. I'll put it on todo.
Powered by blists - more mailing lists