Messages in this thread | | | Date | Wed, 3 Feb 2016 16:42:23 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH v2] lock/semaphore: Avoid an unnecessary deadlock within up() |
| |
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
| |