[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081223162229.GB4126@redhat.com>
Date: Tue, 23 Dec 2008 11:22:29 -0500
From: Jason Baron <jbaron@...hat.com>
To: Tilman Schmidt <t.schmidt@...enixsoftware.de>
Cc: linux-kernel@...r.kernel.org
Subject: Re: dynamic_printk documentation
On Tue, Dec 23, 2008 at 01:25:25PM +0100, Tilman Schmidt wrote:
> Where is the current debugfs interface to dynamic_printk documented?
> From the source in lib/dynamic_printk.c I deduced that
>
> echo "set enable=1 <module_name>" > /sys/kernel/debug/dynamic_printk/modules
>
> should enable debug output for module <module_name>, and verified
> experimentally that this does indeed work. Is that already described
> somewhere I just overlooked? If not, I would propose creating a file
> Documentation/dynamic_printk.txt.
>
> Thanks,
> Tilman
hi,
Most of it is with the config parameter definition in lib/Kconfig.debug
(copied below). I can propose copying it into Documentation/ if you think it'd
be useful.
thanks,
-Jason
config DYNAMIC_PRINTK_DEBUG
bool "Enable dynamic printk() call support"
default n
depends on PRINTK
select PRINTK_DEBUG
help
Compiles debug level messages into the kernel, which would not
otherwise be available at runtime. These messages can then be
enabled/disabled on a per module basis. This mechanism implicitly
enables all pr_debug() and dev_dbg() calls. The impact of this
compile option is a larger kernel text size of about 2%.
Usage:
Dynamic debugging is controlled by the debugfs file,
dynamic_printk/modules. This file contains a list of the modules that
can be enabled. The format of the file is the module name, followed
by a set of flags that can be enabled. The first flag is always the
'enabled' flag. For example:
<module_name> <enabled=0/1>
.
.
.
<module_name> : Name of the module in which the debug call resides
<enabled=0/1> : whether the messages are enabled or not
From a live system:
snd_hda_intel enabled=0
fixup enabled=0
driver enabled=0
Enable a module:
$echo "set enabled=1 <module_name>" > dynamic_printk/modules
Disable a module:
$echo "set enabled=0 <module_name>" > dynamic_printk/modules
Enable all modules:
$echo "set enabled=1 all" > dynamic_printk/modules
Disable all modules:
$echo "set enabled=0 all" > dynamic_printk/modules
Finally, passing "dynamic_printk" at the command line enables
debugging for all modules. This mode can be turned off via the above
disable command.
--
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