Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dyndbg: Use *no_printk() helpers

When printk-indexing is enabled, each printk() or dev_printk()
invocation emits a pi_entry structure. This is even true when the call
is protected by an always-false check: while the actual code to print
the message is optimized out by the compiler, the pi_entry structure is
still emitted.

Fix this by replacing "if (0) *printk(...)" constructs by calls to the
corresponding *no_printk() helpers.

Note that this has minimal impact, as most (all?) callers of
dynamic_{pr,dev}_debug() are protected by checks for DYNAMIC_DEBUG
anyway. Still, using the helpers serves as a good example to follow.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Chris Down <chris@chrisdown.name>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/32e18ceb528b99d9147be9c1af578a1965e2bad9.1709127473.git.geert+renesas@glider.be
Signed-off-by: Petr Mladek <pmladek@suse.com>

authored by

Geert Uytterhoeven and committed by
Petr Mladek
0381e588 c26ec799

+2 -2
+2 -2
include/linux/dynamic_debug.h
··· 305 305 #define DYNAMIC_DEBUG_BRANCH(descriptor) false 306 306 307 307 #define dynamic_pr_debug(fmt, ...) \ 308 - do { if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); } while (0) 308 + no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) 309 309 #define dynamic_dev_dbg(dev, fmt, ...) \ 310 - do { if (0) dev_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__); } while (0) 310 + dev_no_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__) 311 311 #define dynamic_hex_dump(prefix_str, prefix_type, rowsize, \ 312 312 groupsize, buf, len, ascii) \ 313 313 do { if (0) \