From: Greg KH <gregkh@linuxfoundation.org>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org,
linux@rasmusvillemoes.dk, linux-kernel@vger.kernel.org,
amd-gfx@lists.freedesktop.org, jbaron@akamai.com,
seanpaul@chromium.org, dri-devel@lists.freedesktop.org,
joe@perches.com, intel-gvt-dev@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 1/7] drm: mark drm.debug-on-dyndbg as BROKEN for now
Date: Thu, 17 Nov 2022 07:29:00 +0100 [thread overview]
Message-ID: <Y3XUrOGAV4I7bB3M@kroah.com> (raw)
In-Reply-To: <20221111221715.563020-2-jim.cromie@gmail.com>
On Fri, Nov 11, 2022 at 03:17:09PM -0700, Jim Cromie wrote:
> drm.debug-on-dyndbg has a regression, due to a chicken-egg
> initialization problem:
>
> 1- modprobe i915
> i915 needs drm.ko, which is loaded 1st
>
> 2- "modprobe drm drm.debug=0x1ff" (virtual/implied)
> drm.debug is set post-initialization, from boot-args etc
>
> 3- `modprobe i915` finishes
>
> W/O drm.debug-on-dyndbg that just works, because all drm_dbg*
> callsites use drm_debug_enabled() to check __drm_debug & DEM_UT_<CAT>
> before printing.
>
> But the whole point of drm.debug-on-dyndbg is to avoid that runtime
> test, by enabling (at post-modinit) a static-key at each callsite in
> the just-loaded module.
>
> And since drm.ko is loaded before all dependent modules, none are
> "just-loaded", and no drm.debug callsites are present yet, except
> those in drm.ko itself.
>
> Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
> ---
> drivers/gpu/drm/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 34f5a092c99e..0d1e59e6bb7e 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -54,6 +54,7 @@ config DRM_DEBUG_MM
> config DRM_USE_DYNAMIC_DEBUG
> bool "use dynamic debug to implement drm.debug"
> default y
> + depends on BROKEN # chicken-egg initial enable problem
> depends on DRM
> depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
> depends on JUMP_LABEL
> --
> 2.38.1
This should go through the drm tree now. The rest probably should also
go that way and not through my tree as well.
thanks,
greg k-h
next prev parent reply other threads:[~2022-11-17 6:29 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-12 5:28 [Intel-gfx] [PATCH v7 0/9] dyndbg: drm.debug adaptation Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 1/9] drm_print: condense enum drm_debug_category Jim Cromie
2022-09-12 10:17 ` Jani Nikula
2022-09-13 15:57 ` jim.cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 2/9] drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers Jim Cromie
2022-09-12 10:29 ` Jani Nikula
2022-09-12 21:11 ` jim.cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 3/9] drm_print: interpose drm_*dbg with forwarding macros Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 4/9] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 5/9] drm-print.h: include dyndbg header Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 6/9] drm-print: add drm_dbg_driver to improve namespace symmetry Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 7/9] drm_print: optimize drm_debug_enabled for jump-label Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 8/9] drm_print: prefer bare printk KERN_DEBUG on generic fn Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] [PATCH v7 9/9] drm_print: add _ddebug descriptor to drm_*dbg prototypes Jim Cromie
2022-09-12 5:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for dyndbg: drm.debug adaptation Patchwork
2022-09-24 13:02 ` [Intel-gfx] [PATCH v7 0/9] " Greg KH
2022-10-20 16:09 ` Ville Syrjälä
2022-10-21 9:18 ` Jani Nikula
2022-10-27 15:08 ` Jason Baron
2022-10-27 15:37 ` jim.cromie
2022-10-27 15:58 ` Ville Syrjälä
2022-10-27 19:55 ` jim.cromie
2022-10-27 20:09 ` Ville Syrjälä
2022-10-30 14:42 ` jim.cromie
2022-10-31 13:07 ` Ville Syrjälä
2022-10-31 22:11 ` jim.cromie
2022-11-01 0:20 ` Jason Baron
2022-11-01 8:52 ` Ville Syrjälä
2022-11-01 13:09 ` jim.cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 0/7] DYNAMIC_DEBUG fixups for rc Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 1/7] drm: mark drm.debug-on-dyndbg as BROKEN for now Jim Cromie
2022-11-14 12:20 ` Ville Syrjälä
2022-11-17 6:29 ` Greg KH [this message]
2022-11-11 22:17 ` [Intel-gfx] [PATCH 2/7] drm_print: fixup improve stale comment Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 3/7] test-dyndbg: fixup CLASSMAP usage error Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 4/7] test-dyndbg: show that DEBUG enables prdbgs at compiletime Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 5/7] dyndbg: fix readback value on LEVEL_NAMES interfaces Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 6/7] dyndbg: clone DECLARE_DYNDBG_CLASSMAP to REFERENCE_DYNDBG_CLASSMAP Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] [PATCH 7/7] dyndbg: replace classmap list with a vector Jim Cromie
2022-11-17 6:29 ` [Intel-gfx] [PATCH 0/7] DYNAMIC_DEBUG fixups for rc Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y3XUrOGAV4I7bB3M@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=amd-gfx@lists.freedesktop.org \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jbaron@akamai.com \
--cc=jim.cromie@gmail.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=seanpaul@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox