<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/i915/i915_gem_execbuffer.c, branch v3.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.2</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-12-27T05:07:26Z</updated>
<entry>
<title>drm/i915: Disable semaphores by default on SNB</title>
<updated>2011-12-27T05:07:26Z</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2011-12-27T01:02:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ebbd857e6b9a92c0aff4aacd1b1d2361d888633e'/>
<id>urn:sha1:ebbd857e6b9a92c0aff4aacd1b1d2361d888633e</id>
<content type='text'>
Semaphores still cause problems on some machines:

&gt; From Udo Steinberg:
&gt;
&gt; With Linux-3.2-rc6 I'm frequently seeing GPU hangs when large amounts of
&gt; text scroll in an xterm, such as when extracting a tar archive. Such as this
&gt; one (note the timestamps):
&gt;
&gt;  I can reproduce it fairly easily with something
&gt;  as simple as:
&gt;
&gt;	  while true; do dmesg; done

This patch turns them off on SNB while leaving them on for IVB.

Reported-by: Udo Steinberg &lt;udo@hypervisor.org&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Eugeni Dodonov &lt;eugeni@dodonov.net&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drm/i915: enable semaphores on per-device defaults</title>
<updated>2011-12-16T16:49:59Z</updated>
<author>
<name>Eugeni Dodonov</name>
<email>eugeni.dodonov@intel.com</email>
</author>
<published>2011-12-10T01:16:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f45b55575cedb7efa782e43f1ea74338456d0381'/>
<id>urn:sha1:f45b55575cedb7efa782e43f1ea74338456d0381</id>
<content type='text'>
This adds a default setting for semaphores parameter, and enables
semaphores by default on IVB.

For now, as semaphores interaction with VTd causes random issues on
SNB, we do not enable them by default. But they can still be enabled
via the semaphores=1 kernel parameter.

v2: enables semaphores on SNB when IO remapping is disabled, with base
on Keith Packard patch.

CC: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
CC: Ben Widawsky &lt;ben@bwidawsk.net&gt;
CC: Keith Packard &lt;keithp@keithp.com&gt;
CC: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
CC: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42696
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40564
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38862
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Eugeni Dodonov &lt;eugeni.dodonov@intel.com&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Dumb down the semaphore logic</title>
<updated>2011-09-21T21:52:41Z</updated>
<author>
<name>Ben Widawsky</name>
<email>ben@bwidawsk.net</email>
</author>
<published>2011-09-15T03:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c8c99b0f0dea1ced5d0e10cdb9143356cc16b484'/>
<id>urn:sha1:c8c99b0f0dea1ced5d0e10cdb9143356cc16b484</id>
<content type='text'>
While I think the previous code is correct, it was hard to follow and
hard to debug. Since we already have a ring abstraction, might as well
use it to handle the semaphore updates and compares.

I don't expect this code to make semaphores better or worse, but you
never know...

v2:
Remove magic per Keith's suggestions.
Ran Daniel's gem_ring_sync_loop test on this.

v3:
Ignored one of Keith's suggestions.

v4:
Removed some bloat per Daniel's recommendation.

Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Keith Packard &lt;keithp@keithp.com&gt;
Signed-off-by: Ben Widawsky &lt;ben@bwidawsk.net&gt;
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>Revert "drm/i915: Kill GTT mappings when moving from GTT domain"</title>
<updated>2011-06-21T18:11:02Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2011-06-14T23:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e92d03bff9a0d0bcbb812c9b1290ca96c9338d45'/>
<id>urn:sha1:e92d03bff9a0d0bcbb812c9b1290ca96c9338d45</id>
<content type='text'>
This reverts commit 4a684a4117abd756291969336af454e8a958802f.
Userland has always been required to set the object's domain to GTT
before using it through a GTT mapping, it's not something that the
kernel is supposed to enforce.  (The pagefault support is so that we
can handle multiple mappings without userland having to pin across
them, not so that userland can use GTT after GPU domains without
telling the kernel).

Fixes 19.2% +/- 0.8% (n=6) performance regression in cairo-gl
firefox-talos-gfx on my T420 latop.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>drm/i915: Disable pagefaults along execbuffer relocation fast path</title>
<updated>2011-03-23T09:17:01Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-14T15:11:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d4aeee776017b6da6dcd12f453cd82a3c951a0dc'/>
<id>urn:sha1:d4aeee776017b6da6dcd12f453cd82a3c951a0dc</id>
<content type='text'>
Along the fast path for relocation handling, we attempt to copy directly
from the user data structures whilst holding our mutex. This causes
lockdep to warn about circular lock dependencies if we need to pagefault
the user pages. [Since when handling a page fault on a mmapped bo, we
need to acquire the struct mutex whilst already holding the mm
semaphore, it is then verboten to acquire the mm semaphore when already
holding the struct mutex. The likelihood of the user passing in the
relocations contained in a GTT mmaped bo is low, but conceivable for
extreme pathology.] In order to force the mm to return EFAULT rather
than handle the pagefault, we therefore need to disable pagefaults
across the relocation fast path.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: stable@kernel.org
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>Merge branch 'drm-intel-fixes' into drm-intel-next</title>
<updated>2011-03-07T12:35:15Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-07T12:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=47ae63e0c2e5fdb582d471dc906eb29be94c732f'/>
<id>urn:sha1:47ae63e0c2e5fdb582d471dc906eb29be94c732f</id>
<content type='text'>
Apply the trivial conflicting regression fixes, but keep GPU semaphores
enabled.

Conflicts:
	drivers/gpu/drm/i915/i915_drv.h
	drivers/gpu/drm/i915/i915_gem_execbuffer.c
</content>
</entry>
<entry>
<title>drm/i915: Only wait on a pending flip if we intend to write to the buffer</title>
<updated>2011-03-07T11:06:02Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-06T13:51:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c59a333f73868ca6fbcecea99b3542e2c62a3a5c'/>
<id>urn:sha1:c59a333f73868ca6fbcecea99b3542e2c62a3a5c</id>
<content type='text'>
... as if we are only reading from it, we can do that concurrently with
the queue flip.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm/i915: Disable GPU semaphores by default</title>
<updated>2011-03-07T11:00:59Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-04T18:48:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a1656b9090f7008d2941c314f5a64724bea2ae37'/>
<id>urn:sha1:a1656b9090f7008d2941c314f5a64724bea2ae37</id>
<content type='text'>
Andi Kleen narrowed his GPU hangs on his Sugar Bay (SNB desktop) rev 09
down to the use of GPU semaphores, and we already know that they appear
broken up to Huron River (mobile) rev 08. (I'm optimistic that disabling
GPU semaphores is simply hiding another bug by the latency and
side-effects of the additional device interaction it introduces...)

However, use of semaphores is a massive performance improvement... Only
as long as the system remains stable. Enable at your peril.

Reported-by: Andi Kleen &lt;andi-fd@firstfloor.org&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33921
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm/i915: Re-enable GPU semaphores for SandyBridge mobile</title>
<updated>2011-03-01T19:22:52Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-01T19:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e8b2c3c47a53348aebbbeb5322e32937df958793'/>
<id>urn:sha1:e8b2c3c47a53348aebbbeb5322e32937df958793</id>
<content type='text'>
This seems to be running stably on my test laptop, so hopefully the
reported hangs where just symptoms of other bugs.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
<entry>
<title>drm/i915: Allow relocation deltas outside of target bo</title>
<updated>2011-03-01T16:01:02Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-03-01T15:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=271d81b84171d84723357ae6d172ec16b0d8139c'/>
<id>urn:sha1:271d81b84171d84723357ae6d172ec16b0d8139c</id>
<content type='text'>
Userspace has a legitimate requirement to use a delta that points to
outside of the target bo, and so we need to enable this. (As this is an
abi break, albeit a relaxation of the current restrictions, mark the change
with a new flag.)

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
</content>
</entry>
</feed>
