Re: [PATCH 05/18] drm/irq: remove cargo-culted locking from irq_install/unistall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 11, 2014 at 11:36:02PM +0200, Daniel Vetter wrote:
> The dev->struct_mutex locking in drm_irq.c only protects
> dev->irq_enabled. Which isn't really much at all and only prevents
> especially nasty ums userspace from concurrently installing the
> interrupt handling a few times. Or at least trying.
> 
> There are tons of unlocked readers of dev->irqs_enabled in the vblank
> wait code (and by extension also in the pageflip code since that uses
> the same vblank timestamp engine).
> 
> Real modesetting drivers should ensure that nothing can go haywire
> with a sane setup teardown sequence. So we only really need this for
> the drm_control ioctl, everywhere else this will just paper over
> nastiness.
> 
> Note that drm/i915 is a bit specially due to the gem+ums combination.
> So there we also need to properly protect the entervt and leavevt
> ioctls. But it's definitely saner to do everything in one go than to
> drop the lock in-between.
> 
> Finally there's the gpu reset code in drm/i915. That one's just race
> (concurrent userspace calls to for vblank waits of pageflips could
> spuriously fail). So wrap it up in with a nice comment since fixing
> this is more involved.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> ---
>  drivers/gpu/drm/drm_irq.c       | 30 +++++++++++++-----------------
>  drivers/gpu/drm/i915/i915_drv.c |  5 +++++
>  drivers/gpu/drm/i915/i915_gem.c |  5 +++--
>  3 files changed, 21 insertions(+), 19 deletions(-)

Looks good to me:

Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>

Attachment: pgpRNsJAI_ATY.pgp
Description: PGP signature

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux