Re: [PATCH v2] lock/semaphore: Avoid an unnecessary deadlock within up()

From: Byungchul Park
Date: Wed Feb 03 2016 - 03:13:20 EST


On Wed, Feb 03, 2016 at 04:42:23PM +0900, Sergey Senozhatsky wrote:
> On (02/03/16 08:28), Ingo Molnar wrote:
> [..]
> > So why not move printk away from semaphores? Semaphores are classical constructs
> > that have legacies and are somewhat non-obvious to use, compared to modern,
> > simpler locking primitives. I'd not touch their implementation, unless we are
> > absolutely sure this is a safe optimization.
>
> semaphore's spin_lock is not the only spin lock that printk acquires. it also takes the
> logbuf_lock (and different locks in console drivers (up to console driver)).
>
> Jan Kara posted a patch that offloads printing job (console_trylock()-console_unlock())
> from printk() call (when printk can offload it). so semaphore and console driver's locks
> will go away (mostly) with Jan's patch. logbug spin_lock, however, will stay.

It sounds good. Could you teach me how to see the patch by Jan?

>
> -ss