public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] dynamic-debug cleanups refactors maintenance
@ 2026-05-04 20:45 Jim Cromie
  2026-05-04 20:45 ` [PATCH 01/17] dyndbg: factor ddebug_match_desc out from ddebug_change Jim Cromie
                   ` (16 more replies)
  0 siblings, 17 replies; 19+ messages in thread
From: Jim Cromie @ 2026-05-04 20:45 UTC (permalink / raw)
  To: Andrew Morton, Jason Baron, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Aaron Tomlin, Shuah Khan,
	Louis Chauvet
  Cc: linux-kernel, linux-modules, linux-kselftest, Jim Cromie,
	Łukasz Bartosik

This series is nearly all maintenance: it refactors/splits functions,
tightens an internal callchain, drops linked-listing where an
array,length is already available, reduces verbose=3 logging for
usability, and reorganizes several structs for better organization.

Getting these into linux-next for integration testing would clear the
deck for fixing Dynamic-debug classmaps, which is needed to restore
the un-BROKEN status of DRM_USE_DYNAMIC_DEBUG.

Theyre on master at v7.1-rc2

The "modules" intersection is on the re-composing of struct
ddebug_info, which is a member in struct module, and maps a module's
__dyndbg* elf sections.

The user visible change to /proc/dynamic_debug/control is s/class
unknown/class:_UNKNOWN_/, which is a more visible/greppable indication
of incomplete class definitions.

Coder visible change is to drop the enum ddebug_class_map_type's
unused vals - namely: DD_CLASS_TYPE_DISJOINT_NAMES
& DD_CLASS_TYPE_LEVEL_NAMES

These allowed more symbolic named inputs:
  echo +DRM_UT_CORE > /sys/module/drm/parameters/debug

But theyre unused 3 years later, and probably not worth keeping.
With a removal commit in the log, its easy enough to restore them later.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
---
Jim Cromie (17):
      dyndbg: factor ddebug_match_desc out from ddebug_change
      dyndbg: add stub macro for DECLARE_DYNDBG_CLASSMAP
      dyndbg: reword "class unknown," to "class:_UNKNOWN_"
      dyndbg: make ddebug_class_param union members same size
      dyndbg: drop NUM_TYPE_ARRAY
      dyndbg: tweak pr_fmt to avoid expansion conflicts
      dyndbg: reduce verbose/debug clutter
      dyndbg: refactor param_set_dyndbg_classes and below
      dyndbg: tighten fn-sig of ddebug_apply_class_bitmap
      dyndbg: replace classmap list with a vector
      dyndbg: macrofy a 2-index for-loop pattern
      dyndbg,module: make proper substructs in _ddebug_info
      dyndbg: move mod_name down from struct ddebug_table to _ddebug_info
      dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module
      dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code
      selftests-dyndbg: add a dynamic_debug run_tests target
      dyndbg: change __dynamic_func_call_cls* macros into expressions

 MAINTAINERS                                        |   1 +
 include/linux/dynamic_debug.h                      | 106 ++---
 kernel/module/main.c                               |  12 +-
 lib/dynamic_debug.c                                | 504 ++++++++++-----------
 lib/test_dynamic_debug.c                           |  28 +-
 tools/testing/selftests/Makefile                   |   1 +
 tools/testing/selftests/dynamic_debug/Makefile     |   9 +
 tools/testing/selftests/dynamic_debug/config       |   7 +
 .../selftests/dynamic_debug/dyndbg_selftest.sh     | 257 +++++++++++
 9 files changed, 582 insertions(+), 343 deletions(-)
---
base-commit: 6d35786de28116ecf78797a62b84e6bf3c45aa5a
change-id: 20260504-dd-cleanups-2-5c37432d5c03

Best regards,
-- 
Jim Cromie <jim.cromie@gmail.com>


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-05-05  8:06 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-04 20:45 [PATCH 00/17] dynamic-debug cleanups refactors maintenance Jim Cromie
2026-05-04 20:45 ` [PATCH 01/17] dyndbg: factor ddebug_match_desc out from ddebug_change Jim Cromie
2026-05-04 20:45 ` [PATCH 02/17] dyndbg: add stub macro for DECLARE_DYNDBG_CLASSMAP Jim Cromie
2026-05-04 20:45 ` [PATCH 03/17] dyndbg: reword "class unknown," to "class:_UNKNOWN_" Jim Cromie
2026-05-04 20:45 ` [PATCH 04/17] dyndbg: make ddebug_class_param union members same size Jim Cromie
2026-05-04 20:45 ` [PATCH 05/17] dyndbg: drop NUM_TYPE_ARRAY Jim Cromie
2026-05-04 20:45 ` [PATCH 06/17] dyndbg: tweak pr_fmt to avoid expansion conflicts Jim Cromie
2026-05-04 20:45 ` [PATCH 07/17] dyndbg: reduce verbose/debug clutter Jim Cromie
2026-05-04 20:45 ` [PATCH 08/17] dyndbg: refactor param_set_dyndbg_classes and below Jim Cromie
2026-05-04 20:45 ` [PATCH 09/17] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap Jim Cromie
2026-05-04 20:45 ` [PATCH 10/17] dyndbg: replace classmap list with a vector Jim Cromie
2026-05-04 20:45 ` [PATCH 11/17] dyndbg: macrofy a 2-index for-loop pattern Jim Cromie
2026-05-04 20:45 ` [PATCH 12/17] dyndbg,module: make proper substructs in _ddebug_info Jim Cromie
2026-05-05  8:05   ` Petr Pavlu
2026-05-04 20:45 ` [PATCH 13/17] dyndbg: move mod_name down from struct ddebug_table to _ddebug_info Jim Cromie
2026-05-04 20:45 ` [PATCH 14/17] dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module Jim Cromie
2026-05-04 20:45 ` [PATCH 15/17] dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code Jim Cromie
2026-05-04 20:45 ` [PATCH 16/17] selftests-dyndbg: add a dynamic_debug run_tests target Jim Cromie
2026-05-04 20:45 ` [PATCH 17/17] dyndbg: change __dynamic_func_call_cls* macros into expressions Jim Cromie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox