[PULL] drm-intel-next

Daniel Vetter daniel at ffwll.ch
Thu Jan 5 07:24:08 PST 2012


On Wed, Jan 04, 2012 at 07:35:41PM -0800, Keith Packard wrote:
> 
> Here are the rest of the 3.3 pending changes.
> 
> This has a bunch of small bug fixes and overlay plane support for i915.
> 
> The following changes since commit 7a7e8734ac3235efafd34819b27fbdf5417e6d60:
> 
>   Merge branch 'drm-radeon-testing' of ../drm-radeon-next into drm-core-next (2012-01-03 09:45:12 +0000)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux drm-intel-next

I'm not happy with Eric's missed IRQ workaround because
- it's incomplete, the BSD ring is similarly affected by these issues like
  the blitter ring, but not handled by his patches.
- it does a busy-loop wait until the gpu signals completion - in normal
  useage this can easily be a few msecs, especially since now semaphores
  are enabled by defailt on Ivybridge. With offscreen benchmarking it can
  easily reach seconds. This is imo unacceptable.

Furthermore
- Chris Wilson proposed an alternative approach quite a bit before these
  patches have been created that combines the irq signalling path with a
  short timer as a backup. This works really well because we only rarely
  miss irqs. See
  Message-Id: <1323978198-3501-1-git-send-email-chris at chris-wilson.co.uk>
- Meanwhile I've discovered a magic set of tricks that seem to completely
  solve missed irq issues on both ivb and snb. This would render all this
  ducttape irrelevant.

Imo the minimal right thing to do is to revert the patch "drm/i915: Make
the fallback IRQ wait not sleep". This will regress piglit throughput (and
anything else stupid enough to crazily ping-pong between the gpu and cpu)
quite a bit, but honestly that's not something our userbase cares about.

I'd also like to express my frustration with the general -next process for
drm/i915:
- This drm-intel-next tree is less than 24h ours old (if you look at when
  it showed up at an official place where both our QA and the community
  can pick it up and test it). I fear we'll ship yet another disaster like
  the stack eating bug the vt-d/ilk w/a patch caused with an unbounded
  recursion. Our QA actually caught it in testing, but there was simply
  not enough time to fix things up before the buggy code landed in -linus.
- Because the drm-intel-next merge cycle started so late there has simply
  not been enough time to include quite a few bugfixes for serious issues
  like 20s delays in intial modeset, userspace-triggerable kernel OOPSes
  and deadlocks and reproducible hard hw hangs. For most of these there
  are testcases in intel-gpu-tools, and these issues span the entire set
  of hw generations drm/i915 currently supports. But this late it's imo
  no longer advisible to merge them, so we'll ship 3.3 with a bunch of
  known (and sometimes longstanding) serious issues that have fixes.

Yours, Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


More information about the dri-devel mailing list