pr_debug_ratelimited should be coded similar to dev_dbg_ratelimited to reduce the "callbacks suppressed" messages. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> --- On Sat, 2013-10-26 at 18:37 +0100, Greg Kroah-Hartman wrote: > On Sat, Oct 26, 2013 at 03:29:56PM +0200, Krzysztof Mazur wrote: > > Hi, > > > > commit 2d6401cf4ca3861692a4779745e0049cac769d10 > > ("USB: usbatm: move the atm_dbg() call to use dynamic debug") > > changed the atm_rldbg() to: > > > > #define atm_rldbg(instance, format, arg...) \ > > if (printk_ratelimit()) \ > > atm_dbg(instance , format , ## arg) > > > > and now printk_ratelimit() is always called even when debugging is > > disabled and a lot of "callbacks suppressed" messages are printed > > by the printk_ratelimit(): > > > > [...] > > usbatm_rx_process: 4977 callbacks suppressed > > usbatm_extract_one_cell: 2920 callbacks suppressed > > [...] > > > > > > I'm not sure how to fix that, maybe we need dynamic_pr_debug_ratelimit()? > > How about just deleting the use of that macro entirely? Odds are it's > not really needed anymore, right? include/linux/printk.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/include/linux/printk.h b/include/linux/printk.h index e6131a78..449d924 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -343,7 +343,19 @@ extern asmlinkage void dump_stack(void) __cold; #endif /* If you are writing a driver, please use dev_dbg instead */ -#if defined(DEBUG) +#if defined(CONFIG_DYNAMIC_DEBUG) +/* descriptor check is first to prevent flooding with "callbacks suppressed" */ +#define pr_debug_ratelimited(dev, fmt, ...) \ +do { \ + static DEFINE_RATELIMIT_STATE(_rs, \ + DEFAULT_RATELIMIT_INTERVAL, \ + DEFAULT_RATELIMIT_BURST); \ + DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ + if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT) && \ + __ratelimit(&_rs)) \ + __dynamic_pr_debug(fmt, ##__VA_ARGS__); \ +} while (0) +#elif defined(DEBUG) #define pr_debug_ratelimited(fmt, ...) \ printk_ratelimited(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #else -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html