The patch titled Subject: x86_64: select DYNAMIC_DEBUG_RELATIVE_POINTERS has been added to the -mm tree. Its filename is x86-64-select-dynamic_debug_relative_pointers.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/x86-64-select-dynamic_debug_relative_pointers.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/x86-64-select-dynamic_debug_relative_pointers.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: x86_64: select DYNAMIC_DEBUG_RELATIVE_POINTERS This reduces the size of struct _ddebug from 56 to 40 bytes. There's one such struct for each pr_debug(), netdev_debug() etc. in a CONFIG_DYNAMIC_DEBUG kernel. An Ubuntu 4.15 kernel has about 2550 entries in the __verbose section of vmlinux, amounting to ~40K saved. (Modules also become smaller, but it's harder to quantify how much that yields at runtime.) For comparison, the __bug_table section of that Ubuntu kernel is 75576 bytes, i.e. 6298 12-byte bug_entrys, so GENERIC_BUG_RELATIVE_POINTERS saves ~50K. Due to the build-time sanity checks in asm-generic/dynamic_debug.h, we need to add another #undef to vclock_gettime.c. Link: http://lkml.kernel.org/r/20190409212517.7321-9-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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: Jason Baron <jbaron@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/x86/Kconfig | 1 + arch/x86/entry/vdso/vdso32/vclock_gettime.c | 1 + arch/x86/include/asm/Kbuild | 1 + 3 files changed, 3 insertions(+) --- a/arch/x86/entry/vdso/vdso32/vclock_gettime.c~x86-64-select-dynamic_debug_relative_pointers +++ a/arch/x86/entry/vdso/vdso32/vclock_gettime.c @@ -17,6 +17,7 @@ #undef CONFIG_ILLEGAL_POINTER_VALUE #undef CONFIG_SPARSEMEM_VMEMMAP #undef CONFIG_NR_CPUS +#undef CONFIG_DYNAMIC_DEBUG_RELATIVE_POINTERS #define CONFIG_X86_32 1 #define CONFIG_PGTABLE_LEVELS 2 --- a/arch/x86/include/asm/Kbuild~x86-64-select-dynamic_debug_relative_pointers +++ a/arch/x86/include/asm/Kbuild @@ -7,6 +7,7 @@ generated-y += unistd_64_x32.h generated-y += xen-hypercalls.h generic-y += dma-contiguous.h +generic-y += dynamic_debug.h generic-y += early_ioremap.h generic-y += export.h generic-y += mcs_spinlock.h --- a/arch/x86/Kconfig~x86-64-select-dynamic_debug_relative_pointers +++ a/arch/x86/Kconfig @@ -30,6 +30,7 @@ config X86_64 select SWIOTLB select X86_DEV_DMA_OPS select ARCH_HAS_SYSCALL_WRAPPER + select DYNAMIC_DEBUG_RELATIVE_POINTERS # # Arch settings _ 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