From: Greg KH <gregkh@linuxfoundation.org>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: robdclark@gmail.com, 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: [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
WARNING: multiple messages have this Message-ID (diff)
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
WARNING: multiple messages have this Message-ID (diff)
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: [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
WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@linuxfoundation.org>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: jbaron@akamai.com, dri-devel@lists.freedesktop.org,
amd-gfx@lists.freedesktop.org,
intel-gvt-dev@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
daniel.vetter@ffwll.ch, seanpaul@chromium.org,
robdclark@gmail.com, linux@rasmusvillemoes.dk, joe@perches.com
Subject: Re: [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 8:20 UTC|newest]
Thread overview: 137+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-12 5:28 [PATCH v7 0/9] dyndbg: drm.debug adaptation Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 1/9] drm_print: condense enum drm_debug_category Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 10:17 ` Jani Nikula
2022-09-12 10:17 ` Jani Nikula
2022-09-12 10:17 ` [Intel-gfx] " Jani Nikula
2022-09-13 15:57 ` jim.cromie
2022-09-13 15:57 ` jim.cromie
2022-09-13 15:57 ` [Intel-gfx] " jim.cromie
2022-09-12 5:28 ` [PATCH v7 2/9] drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 10:29 ` Jani Nikula
2022-09-12 10:29 ` Jani Nikula
2022-09-12 10:29 ` [Intel-gfx] " Jani Nikula
2022-09-12 21:11 ` jim.cromie
2022-09-12 21:11 ` jim.cromie
2022-09-12 21:11 ` [Intel-gfx] " jim.cromie
2022-09-12 5:28 ` [PATCH v7 3/9] drm_print: interpose drm_*dbg with forwarding macros Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 4/9] drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 5/9] drm-print.h: include dyndbg header Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 6/9] drm-print: add drm_dbg_driver to improve namespace symmetry Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 7/9] drm_print: optimize drm_debug_enabled for jump-label Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 8/9] drm_print: prefer bare printk KERN_DEBUG on generic fn Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:28 ` [PATCH v7 9/9] drm_print: add _ddebug descriptor to drm_*dbg prototypes Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` Jim Cromie
2022-09-12 5:28 ` [Intel-gfx] " Jim Cromie
2022-09-12 5:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for dyndbg: drm.debug adaptation Patchwork
2022-09-24 13:02 ` [PATCH v7 0/9] " Greg KH
2022-09-24 13:02 ` Greg KH
2022-09-24 13:02 ` Greg KH
2022-09-24 13:02 ` [Intel-gfx] " Greg KH
2022-10-20 16:09 ` Ville Syrjälä
2022-10-20 16:09 ` Ville Syrjälä
2022-10-20 16:09 ` [Intel-gfx] " Ville Syrjälä
2022-10-21 9:18 ` Jani Nikula
2022-10-21 9:18 ` Jani Nikula
2022-10-27 15:08 ` Jason Baron
2022-10-27 15:08 ` Jason Baron
2022-10-27 15:37 ` jim.cromie
2022-10-27 15:37 ` jim.cromie
2022-10-27 15:37 ` jim.cromie
2022-10-27 15:58 ` Ville Syrjälä
2022-10-27 15:58 ` Ville Syrjälä
2022-10-27 15:58 ` Ville Syrjälä
2022-10-27 19:55 ` jim.cromie
2022-10-27 19:55 ` jim.cromie
2022-10-27 19:55 ` jim.cromie
2022-10-27 20:09 ` Ville Syrjälä
2022-10-27 20:09 ` Ville Syrjälä
2022-10-27 20:09 ` Ville Syrjälä
2022-10-30 14:42 ` jim.cromie
2022-10-30 14:42 ` jim.cromie
2022-10-30 14:42 ` jim.cromie
2022-10-31 13:07 ` Ville Syrjälä
2022-10-31 13:07 ` Ville Syrjälä
2022-10-31 13:07 ` Ville Syrjälä
2022-10-31 22:11 ` jim.cromie
2022-10-31 22:11 ` jim.cromie
2022-10-31 22:11 ` jim.cromie
2022-11-01 0:20 ` Jason Baron
2022-11-01 0:20 ` Jason Baron
2022-11-01 0:20 ` Jason Baron
2022-11-01 8:52 ` Ville Syrjälä
2022-11-01 8:52 ` Ville Syrjälä
2022-11-01 8:52 ` Ville Syrjälä
2022-11-01 8:52 ` Ville Syrjälä
2022-11-01 13:09 ` jim.cromie
2022-11-01 13:09 ` jim.cromie
2022-11-01 13:09 ` jim.cromie
2022-11-11 22:17 ` [PATCH 0/7] DYNAMIC_DEBUG fixups for rc Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 1/7] drm: mark drm.debug-on-dyndbg as BROKEN for now Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-14 12:20 ` Ville Syrjälä
2022-11-14 12:20 ` Ville Syrjälä
2022-11-17 6:29 ` Greg KH [this message]
2022-11-17 6:29 ` Greg KH
2022-11-17 6:29 ` Greg KH
2022-11-17 6:29 ` [Intel-gfx] " Greg KH
2022-11-11 22:17 ` [PATCH 2/7] drm_print: fixup improve stale comment Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 3/7] test-dyndbg: fixup CLASSMAP usage error Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 4/7] test-dyndbg: show that DEBUG enables prdbgs at compiletime Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 5/7] dyndbg: fix readback value on LEVEL_NAMES interfaces Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 6/7] dyndbg: clone DECLARE_DYNDBG_CLASSMAP to REFERENCE_DYNDBG_CLASSMAP Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-11 22:17 ` [PATCH 7/7] dyndbg: replace classmap list with a vector Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` Jim Cromie
2022-11-11 22:17 ` [Intel-gfx] " Jim Cromie
2022-11-17 6:29 ` [PATCH 0/7] DYNAMIC_DEBUG fixups for rc Greg KH
2022-11-17 6:29 ` Greg KH
2022-11-17 6:29 ` Greg KH
2022-11-17 6:29 ` [Intel-gfx] " 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=robdclark@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.