linux/kernel/printk
Jan Kara 608873cacb printk: release lockbuf_lock before calling console_trylock_for_printk()
There's no reason to hold lockbuf_lock when entering
console_trylock_for_printk().

The first thing this function does is to call down_trylock(console_sem)
and if that fails it immediately unlocks lockbuf_lock.  So lockbuf_lock
isn't needed for that branch.  When down_trylock() succeeds, the rest of
console_trylock() is OK without lockbuf_lock (it is called without it
from other places), and the only remaining thing in
console_trylock_for_printk() is can_use_console() call.  For that call
console_sem is enough (it iterates all consoles and checks CON_ANYTIME
flag).

So we drop logbuf_lock before entering console_trylock_for_printk() which
simplifies the code.

[akpm@linux-foundation.org: fix have_callable_console() comment]
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:54:16 -07:00
..
braille.c printk: Fix return of braille_register_console() 2013-08-06 13:18:12 -07:00
braille.h printk: move braille console support into separate braille.[ch] files 2013-07-31 14:41:03 -07:00
console_cmdline.h printk: add console_cmdline.h 2013-07-31 14:41:03 -07:00
Makefile printk: move braille console support into separate braille.[ch] files 2013-07-31 14:41:03 -07:00
printk.c printk: release lockbuf_lock before calling console_trylock_for_printk() 2014-06-04 16:54:16 -07:00