On 8/22/21 6:19 PM, Jim Cromie wrote: > This patchset does 3 main things. > > Adds DEFINE_DYNAMIC_DEBUG_CATEGORIES to define bitmap => category > control of pr_debugs, and to create their sysfs entries. > > Uses it in amdgpu, i915 to control existing pr_debugs according to > their ad-hoc categorizations. > > Plugs dyndbg into drm-debug framework, in a configurable manner. > > v6: cleans up per v5 feedback, and adds RFC stuff: > > - test_dynamic_debug.ko: uses tracer facility added in v5:8/9 > - prototype print-once & rate-limiting > > Hopefully adding RFC stuff doesnt distract too much. Hi Jim, Yeah, I feel like the RFC patches should be in a separate series unless there is a drm dependency for them? Thanks, -Jason > > Jim Cromie (11): > moduleparam: add data member to struct kernel_param > dyndbg: add DEFINE_DYNAMIC_DEBUG_CATEGORIES and callbacks > i915/gvt: remove spaces in pr_debug "gvt: core:" etc prefixes > i915/gvt: use DEFINE_DYNAMIC_DEBUG_CATEGORIES to create "gvt:core:" > etc categories > amdgpu: use DEFINE_DYNAMIC_DEBUG_CATEGORIES to control categorized > pr_debugs > drm_print: add choice to use dynamic debug in drm-debug > drm_print: instrument drm_debug_enabled > amdgpu_ucode: reduce number of pr_debug calls > nouveau: fold multiple DRM_DEBUG_DRIVERs together > dyndbg: RFC add debug-trace callback, selftest with it. RFC > dyndbg: RFC add print-once and print-ratelimited features. RFC. > > drivers/gpu/drm/Kconfig | 13 + > drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 293 ++++++++------- > .../gpu/drm/amd/display/dc/core/dc_debug.c | 44 ++- > drivers/gpu/drm/drm_print.c | 49 ++- > drivers/gpu/drm/i915/gvt/Makefile | 4 + > drivers/gpu/drm/i915/gvt/debug.h | 18 +- > drivers/gpu/drm/i915/i915_params.c | 35 ++ > drivers/gpu/drm/nouveau/nouveau_drm.c | 36 +- > include/drm/drm_print.h | 148 ++++++-- > include/linux/dynamic_debug.h | 81 ++++- > include/linux/moduleparam.h | 11 +- > lib/Kconfig.debug | 11 + > lib/Makefile | 1 + > lib/dynamic_debug.c | 336 ++++++++++++++++-- > lib/test_dynamic_debug.c | 279 +++++++++++++++ > 15 files changed, 1117 insertions(+), 242 deletions(-) > create mode 100644 lib/test_dynamic_debug.c >