Re: [PATCH v5 0/2] printk: Console owner and waiter logic cleanup

From: Steven Rostedt
Date: Mon Jan 15 2018 - 07:08:29 EST


On Fri, 12 Jan 2018 13:55:37 +0100
Petr Mladek <pmladek@xxxxxxxx> wrote:

> > I'm not fixing console_unlock(), I'm fixing printk(). BTW, all my
> > kernels are CONFIG_PREEMPT (I'm a RT guy), my mind thinks more about
> > PREEMPT kernels than !PREEMPT ones.
>
> I would say that the patch improves also console_unlock() but only in
> non-preemttive context.
>
> By other words, it makes console_unlock() finite in preemptible context
> (limited by buffer size). It might still be unlimited in
> non-preemtible context.

Since I'm worried most about printk(), I would argue to make printk
console unlock always non-preempt.

preempt_disable();
if (console_trylock_spinning())
console_unlock();
preempt_enable();

-- Steve