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.
-ss