Re: [RFC][PATCH] tracing: Warn and notify if tracepoints are not loaded due to module taint

From: Mathieu Desnoyers
Date: Wed Feb 26 2014 - 07:48:21 EST




----- Original Message -----
> From: "Peter Zijlstra" <peterz@xxxxxxxxxxxxx>
> To: "Steven Rostedt" <rostedt@xxxxxxxxxxx>
> Cc: "Mathieu Desnoyers" <mathieu.desnoyers@xxxxxxxxxxxx>, "LKML" <linux-kernel@xxxxxxxxxxxxxxx>, "Ingo Molnar"
> <mingo@xxxxxxxxxx>, "Rusty Russell" <rusty@xxxxxxxxxxxxxxx>, "Frederic Weisbecker" <fweisbec@xxxxxxxxx>, "Andrew
> Morton" <akpm@xxxxxxxxxxxxxxxxxxxx>
> Sent: Wednesday, February 26, 2014 3:59:26 AM
> Subject: Re: [RFC][PATCH] tracing: Warn and notify if tracepoints are not loaded due to module taint
>
> On Tue, Feb 25, 2014 at 07:49:26PM -0500, Steven Rostedt wrote:
> > > > - if (mod->taints & ~((1 << TAINT_OOT_MODULE) | (1 << TAINT_CRAP)))
> > > > + if (WARN_ONCE(mod->taints & ~((1 << TAINT_OOT_MODULE) | (1 <<
> > > > TAINT_CRAP)),
> > > > + "Module is tainted, disabling tracepoints"))
>
> > I originally had that with a simple WARN() instead of WARN_ONCE(), but
> > if you have that config which makes all modules not have sigs correct,
> > it spits out tens of these warnings and can cause more panic in users
> > than it deserves. I then switched it to WARN_ONCE(), and then thought,
> > that if it does it only once for the first module, it wont print the
> > warning again for the other affected modules. That means it may confuse
> > the user if they see a module had that warning, but the module they are
> > trying to trace isn't working either.
> >
> > I then figured it would be good to remove the module name and just
> > state a general "Module is tainted, disabling tracepoints" and if the
> > user notices that the module isn't working, and then looks at their
> > dmesg, they'll see this message and just assume it was the module that
> > wasn't working.
> >
> > Make sense?
>
> How about instead of a WARN, you use a normal KERN_ERR printk(). There's
> no point to the entire WARN state dump, that's needlessly verbose.
>
> When you have a normal error print you can have as many as are required
> and put the mod name back in.

The good old printk KERN_ERR is a very good idea. I agree that WARN() is
too verbose for our needs here.

Thanks,

Mathieu


--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/