diff mbox series

drm: Disable dynamic debug as broken

Message ID 20230207143337.2126678-1-jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show
Series drm: Disable dynamic debug as broken | expand

Commit Message

Jani Nikula Feb. 7, 2023, 2:33 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

CONFIG_DRM_USE_DYNAMIC_DEBUG breaks debug prints for (at least modular)
drm drivers. The debug prints can be reinstated by manually frobbing
/sys/module/drm/parameters/debug after the fact, but at that point the
damage is done and all debugs from driver probe are lost. This makes
drivers totally undebuggable.

There's a more complete fix in progress [1], with further details, but
we need this fixed in stable kernels. Mark the feature as broken and
disable it by default, with hopes distros follow suit and disable it as
well.

[1] https://lore.kernel.org/r/20230125203743.564009-1-jim.cromie@gmail.com

Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro")
Cc: Jim Cromie <jim.cromie@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.1+
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Greg KH Feb. 7, 2023, 5:47 p.m. UTC | #1
On Tue, Feb 07, 2023 at 04:33:37PM +0200, Jani Nikula wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> CONFIG_DRM_USE_DYNAMIC_DEBUG breaks debug prints for (at least modular)
> drm drivers. The debug prints can be reinstated by manually frobbing
> /sys/module/drm/parameters/debug after the fact, but at that point the
> damage is done and all debugs from driver probe are lost. This makes
> drivers totally undebuggable.
> 
> There's a more complete fix in progress [1], with further details, but
> we need this fixed in stable kernels. Mark the feature as broken and
> disable it by default, with hopes distros follow suit and disable it as
> well.
> 
> [1] https://lore.kernel.org/r/20230125203743.564009-1-jim.cromie@gmail.com
> 
> Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro")
> Cc: Jim Cromie <jim.cromie@gmail.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
> Cc: <stable@vger.kernel.org> # v6.1+
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index f42d4c6a19f2..dc0f94f02a82 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -52,7 +52,8 @@ config DRM_DEBUG_MM
>  
>  config DRM_USE_DYNAMIC_DEBUG
>  	bool "use dynamic debug to implement drm.debug"
> -	default y
> +	default n
> +	depends on BROKEN
>  	depends on DRM
>  	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
>  	depends on JUMP_LABEL

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jani Nikula Feb. 10, 2023, 10:54 a.m. UTC | #2
On Tue, 07 Feb 2023, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> On Tue, Feb 07, 2023 at 04:33:37PM +0200, Jani Nikula wrote:
>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> 
>> CONFIG_DRM_USE_DYNAMIC_DEBUG breaks debug prints for (at least modular)
>> drm drivers. The debug prints can be reinstated by manually frobbing
>> /sys/module/drm/parameters/debug after the fact, but at that point the
>> damage is done and all debugs from driver probe are lost. This makes
>> drivers totally undebuggable.
>> 
>> There's a more complete fix in progress [1], with further details, but
>> we need this fixed in stable kernels. Mark the feature as broken and
>> disable it by default, with hopes distros follow suit and disable it as
>> well.
>> 
>> [1] https://lore.kernel.org/r/20230125203743.564009-1-jim.cromie@gmail.com
>> 
>> Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro")
>> Cc: Jim Cromie <jim.cromie@gmail.com>
>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: David Airlie <airlied@gmail.com>
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: dri-devel@lists.freedesktop.org
>> Cc: <stable@vger.kernel.org> # v6.1+
>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/Kconfig | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>> index f42d4c6a19f2..dc0f94f02a82 100644
>> --- a/drivers/gpu/drm/Kconfig
>> +++ b/drivers/gpu/drm/Kconfig
>> @@ -52,7 +52,8 @@ config DRM_DEBUG_MM
>>  
>>  config DRM_USE_DYNAMIC_DEBUG
>>  	bool "use dynamic debug to implement drm.debug"
>> -	default y
>> +	default n
>> +	depends on BROKEN
>>  	depends on DRM
>>  	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
>>  	depends on JUMP_LABEL
>
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Thanks Greg, any more acks from anyone?

Maxime, since there's going to be an -rc8, I suggest taking this via
drm-misc-fixes. Is that okay with you? (You're doing drm-misc-fixes this
round, right?)

BR,
Jani.
Jim Cromie Feb. 10, 2023, 5:26 p.m. UTC | #3
On Tue, Feb 7, 2023 at 10:21 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> CONFIG_DRM_USE_DYNAMIC_DEBUG breaks debug prints for (at least modular)
> drm drivers. The debug prints can be reinstated by manually frobbing
> /sys/module/drm/parameters/debug after the fact, but at that point the
> damage is done and all debugs from driver probe are lost. This makes
> drivers totally undebuggable.
>
> There's a more complete fix in progress [1], with further details, but
> we need this fixed in stable kernels. Mark the feature as broken and
> disable it by default, with hopes distros follow suit and disable it as
> well.
>
> [1] https://lore.kernel.org/r/20230125203743.564009-1-jim.cromie@gmail.com
>
> Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro")
> Cc: Jim Cromie <jim.cromie@gmail.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
> Cc: <stable@vger.kernel.org> # v6.1+
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index f42d4c6a19f2..dc0f94f02a82 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -52,7 +52,8 @@ config DRM_DEBUG_MM
>
>  config DRM_USE_DYNAMIC_DEBUG
>         bool "use dynamic debug to implement drm.debug"
> -       default y
> +       default n
> +       depends on BROKEN
>         depends on DRM
>         depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
>         depends on JUMP_LABEL
> --
> 2.34.1
>

Acked-by: Jim Cromie <jim.cromie@gmail.com>
Jani Nikula Feb. 13, 2023, 4:43 p.m. UTC | #4
On Fri, 10 Feb 2023, Jani Nikula <jani.nikula@intel.com> wrote:
> On Tue, 07 Feb 2023, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
>> On Tue, Feb 07, 2023 at 04:33:37PM +0200, Jani Nikula wrote:
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> 
>>> CONFIG_DRM_USE_DYNAMIC_DEBUG breaks debug prints for (at least modular)
>>> drm drivers. The debug prints can be reinstated by manually frobbing
>>> /sys/module/drm/parameters/debug after the fact, but at that point the
>>> damage is done and all debugs from driver probe are lost. This makes
>>> drivers totally undebuggable.
>>> 
>>> There's a more complete fix in progress [1], with further details, but
>>> we need this fixed in stable kernels. Mark the feature as broken and
>>> disable it by default, with hopes distros follow suit and disable it as
>>> well.
>>> 
>>> [1] https://lore.kernel.org/r/20230125203743.564009-1-jim.cromie@gmail.com
>>> 
>>> Fixes: 84ec67288c10 ("drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro")
>>> Cc: Jim Cromie <jim.cromie@gmail.com>
>>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>> Cc: Maxime Ripard <mripard@kernel.org>
>>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>>> Cc: David Airlie <airlied@gmail.com>
>>> Cc: Daniel Vetter <daniel@ffwll.ch>
>>> Cc: dri-devel@lists.freedesktop.org
>>> Cc: <stable@vger.kernel.org> # v6.1+
>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>> ---
>>>  drivers/gpu/drm/Kconfig | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>>> index f42d4c6a19f2..dc0f94f02a82 100644
>>> --- a/drivers/gpu/drm/Kconfig
>>> +++ b/drivers/gpu/drm/Kconfig
>>> @@ -52,7 +52,8 @@ config DRM_DEBUG_MM
>>>  
>>>  config DRM_USE_DYNAMIC_DEBUG
>>>  	bool "use dynamic debug to implement drm.debug"
>>> -	default y
>>> +	default n
>>> +	depends on BROKEN
>>>  	depends on DRM
>>>  	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
>>>  	depends on JUMP_LABEL
>>
>> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> Thanks Greg, any more acks from anyone?
>
> Maxime, since there's going to be an -rc8, I suggest taking this via
> drm-misc-fixes. Is that okay with you? (You're doing drm-misc-fixes this
> round, right?)

Pushed to drm-misc-fixes with Maxime's IRC ack and Jim's ack elsewhere
in the thread. Thanks.

BR,
Jani.


>
> BR,
> Jani.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index f42d4c6a19f2..dc0f94f02a82 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -52,7 +52,8 @@  config DRM_DEBUG_MM
 
 config DRM_USE_DYNAMIC_DEBUG
 	bool "use dynamic debug to implement drm.debug"
-	default y
+	default n
+	depends on BROKEN
 	depends on DRM
 	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
 	depends on JUMP_LABEL