[PATCH RESEND 15/20] drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl

2015-11-19 Thread Daniel Vetter
On Thu, Nov 19, 2015 at 04:50:11PM +, Daniel Stone wrote:
> Hi,
> 
> On 19 November 2015 at 16:46, Daniel Vetter  wrote:
> > @@ -367,7 +364,6 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, 
> > void *data,
> > args->size = exynos_gem->size;
> >
> > drm_gem_object_unreference(obj);
> > -   mutex_unlock(>struct_mutex);
> 
> drm_gem_object_unreference_unlocked, surely ...

Yeah, and then I go and do a grep for this and spot piles more offenders.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


[PATCH RESEND 15/20] drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl

2015-11-19 Thread Daniel Vetter
The only things this protects is reading ->flags and ->size, both of
which are invariant over the lifetime of an exynos gem bo. So no
locking needed at all (besides that, nothing protects the writers
anyway).

Aside: exynos_gem_obj->size is redundant with
exynos_gem_obj->base.size and probably should be removed.

Signed-off-by: Daniel Vetter 
---
 drivers/gpu/drm/exynos/exynos_drm_gem.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index a3286a1ec2b1..dfb3bfee1b63 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -352,12 +352,9 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
*data,
struct drm_exynos_gem_info *args = data;
struct drm_gem_object *obj;

-   mutex_lock(>struct_mutex);
-
obj = drm_gem_object_lookup(dev, file_priv, args->handle);
if (!obj) {
DRM_ERROR("failed to lookup gem object.\n");
-   mutex_unlock(>struct_mutex);
return -EINVAL;
}

@@ -367,7 +364,6 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
*data,
args->size = exynos_gem->size;

drm_gem_object_unreference(obj);
-   mutex_unlock(>struct_mutex);

return 0;
 }
-- 
2.5.1



[PATCH RESEND 15/20] drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl

2015-11-19 Thread Daniel Stone
Hi,

On 19 November 2015 at 16:46, Daniel Vetter  wrote:
> @@ -367,7 +364,6 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
> *data,
> args->size = exynos_gem->size;
>
> drm_gem_object_unreference(obj);
> -   mutex_unlock(>struct_mutex);

drm_gem_object_unreference_unlocked, surely ...

Cheers,
Daniel