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

Reply via email to