[Intel-gfx] [PATCH 00/10] wait for BO with timeout

Ben Widawsky ben at bwidawsk.net
Sat Apr 21 03:23:22 CEST 2012


patches 1-6 are various fixes and cleanups in our existing wait_request
handling code. The purpose here is to consolidate as much code as
possible into core waiting functions, and to prepare those core
functions for atomic access.

patches 7-8 are the patches we actually care about - timeout parameters
within the core functions

patch 9 is the ioctl interface to wait on a given buffer for some amount
of time

patch 10 is just something which annoys me

The libdrm and i-g-t patches I am testing with are here:
http://cgit.freedesktop.org/~bwidawsk/drm/commit/?h=wait_render&id=719212fbdbcf478ebf2931040c6b415d2765383e

http://cgit.freedesktop.org/~bwidawsk/intel-gpu-tools/commit/?h=wait_render&id=31dcb8379d3b263a91a85db911559317321c6b7c

100ms seems to be sufficient to complete the test on my SNB.

Note to anyone who dare review this: I cannot explain why, but my i-g-t
test when set with a value to actually complete (100ms), always returns a
multiple of a 1000000 nanoseconds. This probably means a bug lurks
somewhere, but I haven't been able to find it. It is likely something
very stupid.

Also, I cannot figure out a good i-g-t test to upstream since the amount
of time to timeout can vary quite a bit. However the test above is good
for basic functionality.

Ben Widawsky (10):
  drm/i915: remove do_retire from i915_wait_request
  drm/i915: move vbetool invoked ier stuff
  drm/i915: kill waiting_seqno
  drm/i915: drop polled waits from i915_wait_request
  drm/i915: extract __wait_seqno from i915_wait_request
  drm/i915: use __wait_seqno for ring throttle
  drm/i915: timeout parameter for seqno wait
  drm/i915: real wait seqno with timeout
  drm/i915: wait render timeout ioctl
  drm/i915: s/i915_wait_reqest/i915_wait_seqno/g

 drivers/gpu/drm/i915/i915_debugfs.c        |    3 +-
 drivers/gpu/drm/i915/i915_dma.c            |    3 +-
 drivers/gpu/drm/i915/i915_drv.h            |   10 +-
 drivers/gpu/drm/i915/i915_gem.c            |  207 ++++++++++++++++++----------
 drivers/gpu/drm/i915/i915_gem_evict.c      |   14 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |    2 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c        |    2 +-
 drivers/gpu/drm/i915/i915_irq.c            |   15 +-
 drivers/gpu/drm/i915/intel_overlay.c       |    6 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c    |    4 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h    |    1 -
 include/drm/i915_drm.h                     |    9 ++
 12 files changed, 184 insertions(+), 92 deletions(-)

-- 
1.7.10




More information about the Intel-gfx mailing list