RFC: dynamic debug enhancements?

From: Joe Perches
Date: Sun Aug 21 2011 - 20:15:48 EST


Hey Jason.

I recently went through drivers/media and updated
lots of calls to pr_<level>.

A common pattern for debugging there and elsewhere
treewide is the use of macros like:

#define dprintk(level, fmt, ...) \
do { \
if (level > [some_modparam_var]) \
pr_debug(fmt, ##__VA_ARGS__); \
} while (0)

and

#define dprintk(mask, fmt, ...) \
do { \
if (mask & [some_modparam_var]) \
pr_debug(fmt, ##__VA_ARGS__); \
} while (0)

It might be useful to have standardized calls
like pr_debug_level and pr_debug_mask instead
of multiple hand-rolled variants treewide.

Another common thing was the use of various
__FILE__, __func__, __LINE__ outputs.

I think __FILE__ is not particularly useful and
can reasonably be replaced by KBUILD_MODNAME.

Perhaps it would be good to have options to
enable these outputs with specific controls
for dynamic_debug uses.

Maybe something like using a define similar to
pr_fmt for what options are preselected for
various ddebug outputs like:

#define DYNAMIC_DEBUG_DEFAULT_FLAGS \
(_DPRINTK_FLAGS_INCL_MODNAME | \
_DPRINTK_FLAGS_INCL_FUNCNAME | \
_DPRINTK_FLAGS_INCL_LINENO)


--
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/