2020-09-02 15:44:28

by 赵军奎

[permalink] [raw]
Subject: [Re-send][PATCH] gpu/drm: remove drm_modeset_lock protection for drm_error

In function drm_atomic_helper_shutdown, maybe there is no need
to protect DRM_ERROR log in DRM_MODESET_LOCK_ALL_BEGIN &
DRM_MODESET_LOCK_ALL_END. This change is to make code run a bit
fast.

Signed-off-by: Bernard Zhao <[email protected]>
---
drivers/gpu/drm/drm_atomic_helper.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 85d163f16801..8902fd6316fc 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -3100,12 +3100,10 @@ void drm_atomic_helper_shutdown(struct drm_device *dev)
int ret;

DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
-
ret = drm_atomic_helper_disable_all(dev, &ctx);
+ DRM_MODESET_LOCK_ALL_END(ctx, ret);
if (ret)
DRM_ERROR("Disabling all crtc's during unload failed with %i\n", ret);
-
- DRM_MODESET_LOCK_ALL_END(ctx, ret);
}
EXPORT_SYMBOL(drm_atomic_helper_shutdown);

--
2.17.1




2020-09-03 08:48:46

by Daniel Vetter

[permalink] [raw]
Subject: Re: [Re-send][PATCH] gpu/drm: remove drm_modeset_lock protection for drm_error

On Wed, Sep 02, 2020 at 09:17:02PM +0800, Bernard wrote:
> In function drm_atomic_helper_shutdown, maybe there is no need
> to protect DRM_ERROR log in DRM_MODESET_LOCK_ALL_BEGIN &
> DRM_MODESET_LOCK_ALL_END. This change is to make code run a bit
> fast.
>
> Signed-off-by: Bernard Zhao <[email protected]>

This is only run at driver unload, so really no need to optimize anything
for speed. And I think this change makes the code less symmetric, so not
really worth it imo.

Similar with the via change, drm/via is very very legacy code where the
next step will be to just outright delete it all.

Thanks anyway for submitting the patches, in other places such a change
would indeed make sense I think.
-Daniel

> ---
> drivers/gpu/drm/drm_atomic_helper.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 85d163f16801..8902fd6316fc 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -3100,12 +3100,10 @@ void drm_atomic_helper_shutdown(struct drm_device *dev)
> int ret;
>
> DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
> -
> ret = drm_atomic_helper_disable_all(dev, &ctx);
> + DRM_MODESET_LOCK_ALL_END(ctx, ret);
> if (ret)
> DRM_ERROR("Disabling all crtc's during unload failed with %i\n", ret);
> -
> - DRM_MODESET_LOCK_ALL_END(ctx, ret);
> }
> EXPORT_SYMBOL(drm_atomic_helper_shutdown);
>
> --
> 2.17.1
>
>
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch