Re: [PATCH v2 tip/core/rcu 02/18] lockdep: Make RCU suspicious-access splats use pr_err

From: Paul E. McKenney
Date: Mon Jan 23 2017 - 14:30:29 EST


On Sat, Jan 21, 2017 at 12:40:23PM -0800, Josh Triplett wrote:
> On Tue, Jan 17, 2017 at 06:53:41PM -0800, Paul E. McKenney wrote:
> > This commit switches RCU suspicious-access splats use pr_err()
> > instead of the current INFO printk()s. This change makes it easier
> > to automatically classify splats.
> >
> > Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > ---
> > kernel/locking/lockdep.c | 12 ++++++------
> > 1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> > index 7c38f8f3d97b..a74c0630172a 100644
> > --- a/kernel/locking/lockdep.c
> > +++ b/kernel/locking/lockdep.c
> > @@ -4412,13 +4412,13 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s)
> > #endif /* #ifdef CONFIG_PROVE_RCU_REPEATEDLY */
> > /* Note: the following can be executed concurrently, so be careful. */
> > printk("\n");
> > - printk("===============================\n");
> > - printk("[ INFO: suspicious RCU usage. ]\n");
> > + pr_err("===============================\n");
> > + pr_err("[ suspicious RCU usage. ]\n");
>
> While re-adding the square bracket makes it symmetric, this change still
> seems odd, and unrelated to the switch to pr_err. You could change it
> to "ERR:" if you want, if "INFO:" feels inaccurate to you.

So this would be OK?

pr_err("[ ERR: suspicious RCU usage. ]\n");

(Changed to this as a best guess, but please let me know.)

Thanx, Paul

> > print_kernel_ident();
> > - printk("-------------------------------\n");
> > - printk("%s:%d %s!\n", file, line, s);
> > - printk("\nother info that might help us debug this:\n\n");
> > - printk("\n%srcu_scheduler_active = %d, debug_locks = %d\n",
> > + pr_err("-------------------------------\n");
> > + pr_err("%s:%d %s!\n", file, line, s);
> > + pr_err("\nother info that might help us debug this:\n\n");
> > + pr_err("\n%srcu_scheduler_active = %d, debug_locks = %d\n",
> > !rcu_lockdep_current_cpu_online()
> > ? "RCU used illegally from offline CPU!\n"
> > : !rcu_is_watching()
> > --
> > 2.5.2
> >
>