2020-08-07 20:14:59

by Jim Cromie

[permalink] [raw]
Subject: [PATCH 0/7] dyndbg: WIP diet plan

dynamic-debug metadata is bloated; the __dyndbg linker section is
effectively an array of struct _ddebugs, and its 1st 3 members are
highly repetetive, with 90%, 84%, 45% repeats. Total reported usage
~150kb for ~2600 callsites on my laptop config.

This patchset is one diet plan. it all holds together nicely until the
"cache" commit, when it blows up starting init (or right after freeing
unused kernel image, which Im hoping to do...).

last commit log has the BUG trace from a LOCKDEP build, which reports
stuff I dont quite undertand, except that it looks bad.


Jim Cromie (7):
dyndbg: give %3u width in pr-format, cosmetic only
dyndbg: motivate a diet plan
dyndbg: select ZPOOL in Kconfig.debug
dyndbg: split struct _ddebug in 2, creating _ddebug_callsite
dyndbg: WIP replace __dyndbg_callsite section with a zs-pool copy.
dyndbg: add locking around zpool-add loop in zpool-init
dyndbg: enable 'cache' of active pr_debug callsites

include/asm-generic/vmlinux.lds.h | 4 +
include/linux/dynamic_debug.h | 36 +++--
lib/Kconfig.debug | 1 +
lib/dynamic_debug.c | 220 +++++++++++++++++++++++++-----
4 files changed, 218 insertions(+), 43 deletions(-)

--
2.26.2