Dynamic debug: Add more flags
Subsystems (3)
PATCH 1/1 Dynamic debug: Add more flags
Add flags that allow the user to specify via debugfs whether or not the module name, function name, line number and/or thread ID have to be included in the printed message.
Signed-off-by Bart Van Assche <[email protected]>
Cc Greg Banks <[email protected]>
Cc Jason Baron <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
Cc Konrad Rzeszutek Wilk <[email protected]>
--- Documentation/dynamic-debug-howto.txt | 12 +++++- include/linux/dynamic_debug.h | 8 ++++- lib/dynamic_debug.c | 60 ++++++++++++++++++++++++++++----- 3 files changed, 68 insertions(+), 12 deletions(-)
Documentation/dynamic-debug-howto.txt +10 -2
@@ -205,12 +205,20 @@ of the characters: The flags are: +f + Include the function name in the printed message +l + Include line number in the printed message +m + Include module name in the printed message p Causes a printk() message to be emitted to dmesg +t + Include thread ID in messages not generated from interrupt context -Note the regexp ^[-+=][scp]+$ matches a flags specification. +Note the regexp ^[-+=][flmpt]+$ matches a flags specification. Note also that there is no convenient syntax to remove all -the flags at once, you need to use "-psc". +the flags at once, you need to use "-flmpt". Debug messages during boot process
include/linux/dynamic_debug.h +7 -1
@@ -31,6 +31,10 @@ struct _ddebug {* writes commands to <debugfs>/dynamic_debug/control */ #define _DPRINTK_FLAGS_PRINT (1<<0)/* printk() a message using the format */ +#define _DPRINTK_FLAGS_INCL_MODNAME (1<<1) +#define _DPRINTK_FLAGS_INCL_FUNCNAME (1<<2) +#define _DPRINTK_FLAGS_INCL_LINENO (1<<3) +#define _DPRINTK_FLAGS_INCL_TID (1<<4)#define _DPRINTK_FLAGS_DEFAULT 0 unsigned int flags:8;char enabled;
@@ -42,6 +46,8 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n,#if defined(CONFIG_DYNAMIC_DEBUG )extern int ddebug_remove_module (const char *mod_name); +extern int __dynamic_pr_debug (struct _ddebug *descriptor,const char *fmt, ...) + __attribute__ ((format (printf,2 ,3 )));#define dynamic_pr_debug (fmt, ...) do { \ static struct _ddebug descriptor \
@@ -50,7 +56,7 @@ extern int ddebug_remove_module(const char *mod_name); {KBUILD_MODNAME , __func__, __FILE__, fmt, __LINE__, \ _DPRINTK_FLAGS_DEFAULT }; \if (unlikely (descriptor.enabled)) \ - printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \ + __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \ }while (0 )
lib/dynamic_debug.c +51 -9
104 lines not on this page · raw message
Signature · 1 line
1.7.1
Quoted 9 lines · On Sunday 23 January 2011 17:17:24 Bart Van Assche wrote:
Add flags that allow the user to specify via debugfs whether or not the module name, function name, line number and/or thread ID have to be included in the printed message.
Signed-off-by Bart Van Assche <[email protected]>Cc Greg Banks <[email protected]>Cc Jason Baron <[email protected]>Cc Greg Kroah-Hartman <[email protected]>Cc Konrad Rzeszutek Wilk <[email protected]>
Apparently I had used an outdated e-mail address, so cc-ing:
Cc Greg Banks <[email protected]>
Bart.