Re: dynamic_printk documentation

From: Michael Kerrisk
Date: Sat Jan 03 2009 - 13:48:52 EST


On Wed, Dec 24, 2008 at 5:22 AM, Jason Baron <jbaron@xxxxxxxxxx> wrote:
> 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.

That would make some sense. Kconfig isn't usually the place where
where one expects to look for usage documentation.

Cheers,

Michael

> 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@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>



--
Michael Kerrisk Linux man-pages maintainer;
http://www.kernel.org/doc/man-pages/ Found a documentation bug?
http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
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/