Messages in this thread | | | Subject | RFC: dynamic debug enhancements? | From | Joe Perches <> | Date | Sun, 21 Aug 2011 17:15:43 -0700 |
| |
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)
| |