lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 17 Feb 2014 19:36:42 -0800
From:	Josh Triplett <josh@...htriplett.org>
To:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:	linux-kernel@...r.kernel.org, mingo@...nel.org,
	laijs@...fujitsu.com, dipankar@...ibm.com,
	akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
	niv@...ibm.com, tglx@...utronix.de, peterz@...radead.org,
	rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
	darren@...art.com, fweisbec@...il.com, oleg@...hat.com, sbw@....edu
Subject: Re: [PATCH tip/core/rcu 19/55] rcutorture: Abstract TOROUT_STRING()
 and friends

On Mon, Feb 17, 2014 at 05:43:57PM -0800, Paul E. McKenney wrote:
> On Mon, Feb 17, 2014 at 05:23:18PM -0800, Josh Triplett wrote:
> > On Mon, Feb 17, 2014 at 04:58:02PM -0800, Paul E. McKenney wrote:
> > > On Mon, Feb 17, 2014 at 04:26:06PM -0800, Josh Triplett wrote:
> > > > On Mon, Feb 17, 2014 at 02:12:23PM -0800, Paul E. McKenney wrote:
> > > > > From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> > > > > 
> > > > > These diagnostic macros are not confined to torturing RCU, so this commit
> > > > > makes them available to other torture tests.
> > > > > 
> > > > > Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
> > > > 
> > > > This removes the do {} while (0) around the first of the macros, without
> > > > any explanation in the commit message.
> > > 
> > > checkpatch.pl yelled at me about it.  ;-)
> > 
> > That's a fine reason, but the change needs documenting in the commit
> > message.
> > 
> > > > Also, to what extent could these be made redundant with pr_fmt?
> > > > if(verbose) seems like it really ought to become a priority level or
> > > > dynamic debugging (and it's really awful to further propagate macros
> > > > that reference an out-of-macro variable).  Ideally all of these could go
> > > > away in favor of pr_fmt, and then the individual calls to them would
> > > > become pr_alert, pr_debug, pr_error, or similar.
> > > 
> > > I don't immediately see how to get the "!!!" to be there or not with
> > > pr_fmt(), since the same pr_fmt() would apply to all the macros.
> > 
> > Replace VERBOSE_TOROUT_ERRSTRING with something like pr_emerg, or leave
> > it as pr_alert and drop the priority of the other variations to
> > something less; then instead of "!!!" you have the existing message
> > priority mechanism.
> 
> Is this message-priority mechanism apparent over a serial console?
> As in can a script reading the serial console output tell what the
> message priority is?

Good point.  Well, if the use of "verbose" and "torture_type" went away in
favor of dynamic debug and pr_fmt, respectively, then having an
error-printing macro that just does pr_alert("!!! " ...) doesn't seem so
bad.

> > Also, if it helps, note that you can add parameters in pr_fmt, as long
> > as they're the initial parameters and you add corresponding format
> > specifiers before the passed format string.  (Many modules do this to
> > add __func__, for instance.)
> 
> Agreed, and I do see some uses of this sort.

It should also handle the desired prefix that these macros are adding.

> > > I am also not all that excited about including "verbose" or similar
> > > into the argument list of all calls to these guys.
> > 
> > verbose could go away entirely in favor of dynamic debug; you could then
> > turn debug on or off for the relevant torture test module instead of
> > setting verbose.
> 
> But I need a pretty fully functional userspace to control the dynamic
> debug from what I can see.  I really would like to avoid relying on
> having much of any userspace during rcutorture and locktorture testing.
> The reason is that avoiding a userspace greatly reduces my memory and
> disk requirements, allowing me to run more instances of rcutorture and
> locktorture in parallel on smaller systems.

You can arbitrarily configure dynamic debug from the kernel command
line; no userspace required.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ