Printx commands (off by default)
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 18 Sep 2014 00:39:01 +0000 (17:39 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 18 Sep 2014 00:59:33 +0000 (17:59 -0700)
commitca8ac4c8d20c6330e27ad42b2eff5df2697a708b
tree4dd5dede279e05ba21afce5f105ed25b994abf1d
parent2af03470baa72ef03f3c429ddb7bc120cd4824fe
Printx commands (off by default)

A common tool I use is to printk, or now even trace_printk, to debug something.
But you don't always want the printing on, due to massive amounts of printing
under certain circumstances.

Invariably, I'd make a throw-away function that I would kfunc to toggle the
printing on and off.  I already do something similar with the poor-mans
ftrace/spatch.

"printx" is the term for this debugging style printing, and it can be turned on
and off.  There is a monitor command (px) that toggles it.  And just for fun
(and profit) there's a Kprof file to control it too (kprintx).

$ echo on > /prof/kprintx (once #K is attached).

The 'x' comes from "xme", which is the name of the one-off kfunc function I
usually use for debugging.

The default value is off.  The poor-mans ftrace uses printx_on as well, so if
you want the tracing on, you'll need to turn it on manually.  This is a change,
but a good one.
kern/drivers/dev/kprof.c
kern/include/kdebug.h
kern/include/monitor.h
kern/src/kdebug.c
kern/src/monitor.c