public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/5] gpu reset improvements
@ 2012-06-24 14:42 Daniel Vetter
  2012-06-24 14:42 ` [PATCH 1/5] drm/i915: wrap up gt powersave enabling functions Daniel Vetter
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Daniel Vetter @ 2012-06-24 14:42 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Daniel Vetter

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

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2012-06-29 21:11 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-24 14:42 [PATCH 0/5] gpu reset improvements Daniel Vetter
2012-06-24 14:42 ` [PATCH 1/5] drm/i915: wrap up gt powersave enabling functions Daniel Vetter
2012-06-24 23:03   ` Eugeni Dodonov
2012-06-25  7:20     ` Daniel Vetter
2012-06-29 18:51   ` Ben Widawsky
2012-06-29 21:11     ` Daniel Vetter
2012-06-24 14:42 ` [PATCH 2/5] drm/i915: make enable/disable_gt_powersave locking consistent Daniel Vetter
2012-06-24 23:03   ` Eugeni Dodonov
2012-06-25 19:08     ` Daniel Vetter
2012-06-24 14:42 ` [PATCH 3/5] drm/i915: don't return a spurious -EIO from intel_ring_begin Daniel Vetter
2012-06-25 20:32   ` Chris Wilson
2012-06-25 20:49     ` Daniel Vetter
2012-06-25 21:06       ` Chris Wilson
2012-06-25 21:48         ` Daniel Vetter
2012-06-25 22:52           ` Chris Wilson
2012-06-25 23:05             ` Daniel Vetter
2012-06-26  9:30               ` Chris Wilson
2012-06-24 14:42 ` [PATCH 4/5] drm/i915: don't trylock in the gpu reset code Daniel Vetter
2012-06-25 20:10   ` Chris Wilson
2012-06-24 14:42 ` [PATCH 5/5] drm/i915: non-interruptible sleeps can't handle -EGAIN Daniel Vetter
2012-06-25 20:23   ` Chris Wilson
2012-06-25 20:35     ` Daniel Vetter
2012-06-25 20:24   ` [PATCH] " Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox