[Intel-gfx] [PATCH 0/3] Reduce the time for which 'struct_mutex' is held

ankitprasad.r.sharma at intel.com ankitprasad.r.sharma at intel.com
Mon Aug 24 04:58:13 PDT 2015


From: Ankitprasad Sharma <ankitprasad.r.sharma at intel.com>

We are trying to reduce the time for which the global 'struct_mutex'
is locked. Execbuffer ioctl is one place where it is generally held
for the longest time. And sometimes because of this occasional 
glitches/flickers are observed in 60 fps playback (due to miss of
V-blank intervals) as page flip calls gets blocked/delayed because the
'struct_mutex' is already locked.

For this, we have exposed two new flags in GEM_CREATE ioctl, to pre-populate
the object with system memory pages and also do an immediate clflush for the
new pages.

The third patch too tries to reduce the 'struct_mutex' lock time by
moving only those objects to CPU domain in put_pages(), that can either
be used in the future or had a CPU mapping.

This series is based on an earlier series of Stolen Memory patches,
extending the GEM_CREATE ioctl further
http://lists.freedesktop.org/archives/intel-gfx/2015-July/072199.html

Ankitprasad Sharma (2):
  drm/i915: Support for pre-populating the object with system pages
  drm/i915: Support for the clflush of pre-populated pages

Chris Wilson (1):
  drm/i915: Only move to the CPU write domain if keeping the GTT pages

 drivers/gpu/drm/i915/i915_dma.c |   2 +-
 drivers/gpu/drm/i915/i915_drv.h |   5 ++
 drivers/gpu/drm/i915/i915_gem.c | 116 ++++++++++++++++++++++++++++++----------
 include/uapi/drm/i915_drm.h     |  12 ++---
 4 files changed, 101 insertions(+), 34 deletions(-)

-- 
1.9.1



More information about the Intel-gfx mailing list