Re: [PATCH v12 3/3] printk: make printk.synchronous param rw

From: Jan Kara
Date: Sat Apr 23 2016 - 03:08:27 EST

On Fri 22-04-16 22:53:00, Sergey Senozhatsky wrote:
> Change `synchronous' printk param to be RW, so user space
> can change printk mode back and forth to/from sync mode
> (which is considered to be more reliable).
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>

The patch looks good to me. One suggestion below:

> @@ -1785,7 +1782,7 @@ asmlinkage int vprintk_emit(int facility, int level,
> * operate in sync mode once panic() occurred.
> */
> if (console_loglevel != CONSOLE_LOGLEVEL_MOTORMOUTH &&
> - printk_kthread) {
> + !printk_sync && printk_kthread) {
> /* Offload printing to a schedulable context. */
> printk_kthread_need_flush_console = true;
> wake_up_process(printk_kthread);

It would seem more future-proof to hide '!printk_sync && printk_kthread'
into a wrapper function as it is somewhat subtle detail that printk_kthread
needn't exist while !printk_sync and I can imagine someone forgetting to
check that in the future. Something like 'can_print_async()'? But I don't
feel too strongly about that so feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

regardless whether you change this or not.

Jan Kara <jack@xxxxxxxx>