[PATCH v6 32/57] nouveau: adapt NV_DEBUG, NV_ATOMIC to use DRM.debug

jim.cromie at gmail.com jim.cromie at gmail.com
Tue Mar 7 05:10:54 UTC 2023


On Mon, Mar 6, 2023 at 11:50 AM Timur Tabi <timur at kernel.org> wrote:
>
> On Sun, Sep 4, 2022 at 4:48 PM Jim Cromie <jim.cromie at gmail.com> wrote:
> >
> > These 2 macros used drm_debug_enabled() on DRM_UT_{DRIVER,ATOMIC}
> > respectively, replace those with drm_dbg_##cat invocations.
> >
> > this results in new class'd prdbg callsites:
> >
> > :#> grep nouveau /proc/dynamic_debug/control | grep class | wc
> >     116    1130   15584
> > :#> grep nouveau /proc/dynamic_debug/control | grep class | grep DRIVER | wc
> >      74     704    9709
> > :#> grep nouveau /proc/dynamic_debug/control | grep class | grep ATOMIC | wc
> >      31     307    4237
> > :#> grep nouveau /proc/dynamic_debug/control | grep class | grep KMS | wc
> >      11     119    1638
> >
> > the KMS entries are due to existing uses of drm_dbg_kms().
> >
> > Signed-off-by: Jim Cromie <jim.cromie at gmail.com>
>
> Has this patch set been forgotten?  It was posted six months ago and
> there's no sign that it was picked up.

Not forgotten, but chicken-egg problems with initializing prdbgs/drm-dbgs
in drm.ko & dependent drivers pushed it down in priority.
I have a fix for them, which needs Jasons "lets use notifier-chain" patches,
which is now in Luis' modules-next.

After that fix lands, I can revisit this one.

> The changes to drm_debug_enabled have impacted NV_DEBUG and NV_ATOMIC
> and something needs to be fixed.  I posted a simpler patch a few weeks
> ago, but maybe Jim's is better.

I couldnt find it on lore, can you post a link ?

But I do recall something about chatty logs, caused by

#define drm_debug_enabled_instrumented(category)                        \
        ({                                                              \
                pr_debug("todo: is this frequent enough to optimize ?\n"); \
                drm_debug_enabled_raw(category);                        \
        })

If thats the case, it does seem to be frequent enough to silence.

Before you do so, could you turn on the "mfl" flags,
and count occurrences of each callsite ?

echo module nouveau +mfl > /proc/dynamic_debug/control

the numbers and duration of enablement would inform any optimization,
including those available in the subject patchset.

thanks,
Jim


More information about the amd-gfx mailing list