On Mon, Sep 12, 2022 at 4:17 AM Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: > > On Sun, 11 Sep 2022, Jim Cromie <jim.cromie@xxxxxxxxx> wrote: > > enum drm_debug_category has 10 categories, but is initialized with > > bitmasks which require 10 bits of underlying storage. By using > > natural enumeration, and moving the BIT(cat) into drm_debug_enabled(), > > the enum fits in 4 bits, allowing the category to be represented > > directly in pr_debug callsites, via the ddebug.class_id field. > > > > While this slightly pessimizes the bit-test in drm_debug_enabled(), > > using dyndbg with JUMP_LABEL will avoid the function entirely. > > > > NOTE: this change forecloses the possibility of doing: > > > > drm_dbg(DRM_UT_CORE|DRM_UT_KMS, "weird 2-cat experiment") > > > > but thats already strongly implied by the use of the enum itself; its > > not a normal enum if it can be 2 values simultaneously. > > The drm.debug module parameter values are, arguably, ABI. There are tons > of people, scripts, test environments, documentation, bug reports, etc, > etc, referring to specific drm.debug module parameter values to enable > specific drm debug logging categories. > > AFAICT you're not changing any of the values here, but having an enum > without the hard coded values makes it more likely to accidentally > change the category to bit mapping. At the very least deserves a > comment. > hi Jani, You're correct, this is unchanged : echo $script_debug_val > /sys/module/drm/parameters/debug wrt the enum, the next patch adds a comment, enum drm_debug_category { + /* These names must match those in DYNAMIC_DEBUG_CLASSBITS */ /** * @DRM_UT_CORE: Used in the generic drm code: drm_ioctl.c, drm_mm.c, But that comment mostly misses the point youre making. and the specific NAME is stale. and the s/int/ulong/ __drm_debug should go here, with the use of BIT() I will fix this and repost. Is it useful for CI / patchwork / lkp-robot purposes, to branch-and-rebase onto drm-next/drm-next or drm-tip/drm-tip (or dated tags on them ) ? > > BR, > Jani. > > thank you > > > > Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx> > > --- > > inclu