The patch titled Subject: linux/printk.h: use unique identifier for each struct _ddebug has been added to the -mm tree. Its filename is linux-printkh-use-unique-identifier-for-each-struct-_ddebug.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/linux-printkh-use-unique-identifier-for-each-struct-_ddebug.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/linux-printkh-use-unique-identifier-for-each-struct-_ddebug.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Subject: linux/printk.h: use unique identifier for each struct _ddebug Changes on x86-64 later in this series require that all struct _ddebug descriptors in a translation unit uses distinct identifiers. Realize that for pr_debug_ratelimited by generating such an identifier via __UNIQUE_ID and pass that to an extra level of macros. No functional change. Link: http://lkml.kernel.org/r/20190409212517.7321-4-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Petr Mladek <pmladek@xxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Christophe Leroy <christophe.leroy@xxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/printk.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/include/linux/printk.h~linux-printkh-use-unique-identifier-for-each-struct-_ddebug +++ a/include/linux/printk.h @@ -454,7 +454,7 @@ extern int kptr_restrict; /* If you are writing a driver, please use dev_dbg instead */ #if defined(CONFIG_DYNAMIC_DEBUG) /* descriptor check is first to prevent flooding with "callbacks suppressed" */ -#define pr_debug_ratelimited(fmt, ...) \ +#define _pr_debug_ratelimited(descriptor, fmt, ...) \ do { \ static DEFINE_RATELIMIT_STATE(_rs, \ DEFAULT_RATELIMIT_INTERVAL, \ @@ -464,6 +464,8 @@ do { \ __ratelimit(&_rs)) \ __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \ } while (0) +#define pr_debug_ratelimited(fmt, ...) \ + _pr_debug_ratelimited(__UNIQUE_ID(ddebug), fmt, ##__VA_ARGS__) #elif defined(DEBUG) #define pr_debug_ratelimited(fmt, ...) \ printk_ratelimited(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) _ Patches currently in -mm which might be from linux@xxxxxxxxxxxxxxxxxx are linux-deviceh-use-unique-identifier-for-each-struct-_ddebug.patch linux-neth-use-unique-identifier-for-each-struct-_ddebug.patch linux-printkh-use-unique-identifier-for-each-struct-_ddebug.patch dynamic_debug-introduce-accessors-for-string-members-of-struct-_ddebug.patch dynamic_debug-drop-use-of-bitfields-in-struct-_ddebug.patch dynamic_debug-introduce-config_dynamic_debug_relative_pointers.patch dynamic_debug-add-asm-generic-implementation-for-dynamic_debug_relative_pointers.patch x86-64-select-dynamic_debug_relative_pointers.patch arm64-select-dynamic_debug_relative_pointers.patch powerpc-select-dynamic_debug_relative_pointers-for-ppc64.patch lib-bitmapc-remove-unused-export_symbols.patch lib-bitmapc-guard-exotic-bitmap-functions-by-config_numa.patch bitopsh-sanitize-rotate-primitives.patch