linux/drivers/gpu/drm/vmwgfx
Thomas Hellstrom 3e04e2fe6d drm/vmwgfx: Fix execbuf locking issues
This addresses two issues that cause problems with viewperf maya-03 in
situation with memory pressure.

The first issue causes attempts to unreserve buffers if batched
reservation fails due to, for example, a signal pending. While previously
the ttm_eu api was resistant against this type of error, it is no longer
and the lockdep code will complain about attempting to unreserve buffers
that are not reserved. The issue is resolved by avoid calling
ttm_eu_backoff_reservation in the buffer reserve error path.

The second issue is that the binding_mutex may be held when user-space
fence objects are created and hence during memory reclaims. This may cause
recursive attempts to grab the binding mutex. The issue is resolved by not
holding the binding mutex across fence creation and submission.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2015-08-14 09:49:19 +10:00
..
Kconfig drm: Move plane helpers into drm_kms_helper.ko 2014-06-04 13:36:08 +10:00
Makefile drm/vmwgfx: Fix compat shader namespace 2014-07-04 12:12:09 +02:00
svga3d_reg.h drm/vmwgfx: Remove some unused surface formats 2014-03-02 09:42:53 +01:00
svga3d_surfacedefs.h drm/vmwgfx: Fix possible integer overflow 2014-02-12 19:30:45 +01:00
svga_escape.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_overlay.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_reg.h PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h 2014-09-24 11:52:09 -06:00
svga_types.h
vmwgfx_buffer.c drm/ttm: flip the switch, and convert to dma_fence 2014-09-02 16:41:50 +02:00
vmwgfx_cmdbuf_res.c drm/vmwgfx: Fix hash key computation 2014-10-31 09:54:22 +01:00
vmwgfx_context.c drm/vmwgfx: Fix compat shader namespace 2014-07-04 12:12:09 +02:00
vmwgfx_dmabuf.c drm/ttm: move fpfn and lpfn into each placement v2 2014-08-27 13:16:04 +02:00
vmwgfx_drv.c Merge tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-04-01 08:23:25 +10:00
vmwgfx_drv.h drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
vmwgfx_execbuf.c drm/vmwgfx: Fix execbuf locking issues 2015-08-14 09:49:19 +10:00
vmwgfx_fb.c drm/ttm: move fpfn and lpfn into each placement v2 2014-08-27 13:16:04 +02:00
vmwgfx_fence.c drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
vmwgfx_fence.h drm/vmwgfx: rework to new fence interface, v2 2014-09-02 16:41:50 +02:00
vmwgfx_fifo.c drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
vmwgfx_gmr.c drm/vmwgfx: Fix the driver for large dma addresses 2014-01-17 07:44:15 +01:00
vmwgfx_gmrid_manager.c drm/ttm: move fpfn and lpfn into each placement v2 2014-08-27 13:16:04 +02:00
vmwgfx_ioctl.c drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
vmwgfx_irq.c drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
vmwgfx_kms.c drm/vmwgfx: Fix a couple of lock dependency violations 2015-03-11 11:47:40 -07:00
vmwgfx_kms.h drm: Pass page flip ioctl flags to driver 2013-08-30 09:24:54 +10:00
vmwgfx_ldu.c drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
vmwgfx_marker.c drm: vmwgfx: Use nsec based interfaces 2014-07-23 15:01:50 -07:00
vmwgfx_mob.c drm/vmwgfx: avoid null pointer dereference at failure paths 2014-03-02 09:49:59 +01:00
vmwgfx_overlay.c drm/vmwgfx: Make overlay code not require fifo at init time 2012-11-20 16:19:50 +10:00
vmwgfx_prime.c drm/vmwgfx: Hook up the prime ioctls 2013-11-18 04:11:53 -08:00
vmwgfx_reg.h
vmwgfx_resource.c drm/ttm: optionally move duplicates to a separate list 2014-12-03 18:26:52 -05:00
vmwgfx_resource_priv.h drm/vmwgfx: Break out surface and context management to separate files 2012-11-21 07:47:08 +10:00
vmwgfx_scrn.c drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
vmwgfx_shader.c drm/vmwgfx: (Re)bind shaders to MOBs with the correct offset 2014-12-03 00:48:14 -08:00
vmwgfx_surface.c drm/vmwgfx: Tighten security around surface sharing v2 2014-03-28 14:19:03 +01:00
vmwgfx_ttm_glue.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00