[PATCH 0/5] gpu reset improvements

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

 



Hi all,

The first two patches are actually unrelated, I've stumbled over that while
chasing down a dead alley.

The later patches fix up some issues I've found around the gpu reset handling.
Without these running the hangman in a loop eventually fails, with these it
didn't fail on my ilk, snb & ivb while running for half a day.

Note that intel_ring_begin now unconditionally returns -EIO if the gpu died,
even when the reset code has not yet died. In pratice you'll only hit this when
the ringbuffer is completely full when the gpu died _and_ the gpu's death has
been declared while an execbuf ioctl call was in progress (specifically already
grabbed the mutex but hasn't yet emitted all the MI_ commands).

Still, with pipelined fencing gone and the flushing list's demise almost
certain I think we should push down the non-interruptible handling of
intel_ring_begin in the callchain and try to do the right thing in the execbuf
code at least. But that's future patch-fodder!

Happy bikeshedding!

Cheers, Daniel

Daniel Vetter (5):
  drm/i915: wrap up gt powersave enabling functions
  drm/i915: make enable/disable_gt_powersave locking consistent
  drm/i915: don't return a spurious -EIO from intel_ring_begin
  drm/i915: don't trylock in the gpu reset code
  drm/i915: non-interruptible sleeps can't handle -EGAIN

 drivers/gpu/drm/i915/i915_drv.c         |    3 +-
 drivers/gpu/drm/i915/i915_drv.h         |    1 +
 drivers/gpu/drm/i915/i915_gem.c         |   19 ++++++++---
 drivers/gpu/drm/i915/i915_suspend.c     |    5 +--
 drivers/gpu/drm/i915/intel_display.c    |   23 +++----------
 drivers/gpu/drm/i915/intel_drv.h        |    9 ++---
 drivers/gpu/drm/i915/intel_pm.c         |   57 ++++++++++++++++++++-----------
 drivers/gpu/drm/i915/intel_ringbuffer.c |   10 +++---
 8 files changed, 65 insertions(+), 62 deletions(-)

-- 
1.7.10



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux