All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] Set cache level ioctl
@ 2012-07-09 11:34 Chris Wilson
  2012-07-09 11:34 ` [PATCH 1/3] drm: Add colouring to the range allocator Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Chris Wilson @ 2012-07-09 11:34 UTC (permalink / raw)
  To: intel-gfx

One of the niceties of SandyBridge was that it introduced a shared LLC
cache between the CPU and the GPU. This allows us assume cache coherency
of a bo and so mix CPU and GPU access to the same buffer (with a few
caveats of course). Older architectures used snooping to achieve very
nearly the same effect (the only observable difference for the driver is
the greatly increased bandwidth between the CPU and GPU and memory that
SandyBridge also introduced). However, whilst we were able to enable LLC
sharing by default on SNB as it has no obvious penalty and could
be handled implicitly by the drivers, snoopable memory on the other hand
must be managed explicitly (only certain types of buffers are allowed to
snoopable, and overuse leads to degraded performace). So we expose an
ioctl to grant userspace the ability to do so.

Note that this has a significant patch to the drm_mm to enable
segregation of different memory domains within the GTT, and that Daniel
wants a battery of coherency checks for i-g-t, hence it is not quite
ready just yet. As it stands I have used it to good effect within the
DDX. Bring on vmap!
-Chris

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

end of thread, other threads:[~2012-07-26 11:00 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-09 11:34 [RFC] Set cache level ioctl Chris Wilson
2012-07-09 11:34 ` [PATCH 1/3] drm: Add colouring to the range allocator Chris Wilson
2012-07-10  9:21   ` Daniel Vetter
2012-07-10  9:29     ` Chris Wilson
2012-07-10  9:40       ` Daniel Vetter
2012-07-10 10:15         ` [PATCH 1/2] " Chris Wilson
2012-07-10 10:15           ` [PATCH 2/2] drm/i915: Segregate memory domains in the GTT using coloring Chris Wilson
2012-07-12 12:19             ` Daniel Vetter
2012-07-12 12:15           ` [PATCH 1/2] drm: Add colouring to the range allocator Daniel Vetter
2012-07-09 11:34 ` [PATCH 2/3] drm/i915: Segregate memory domains in the GTT using coloring Chris Wilson
2012-07-09 11:34 ` [PATCH 3/3] drm/i915: Export ability of changing cache levels to userspace Chris Wilson
2012-07-10  8:54   ` Daniel Vetter
2012-07-10  9:00     ` Chris Wilson
2012-07-10  9:27       ` [PATCH] " Chris Wilson
2012-07-18 18:06         ` Daniel Vetter
2012-07-26 10:34         ` Daniel Vetter
2012-07-26 10:49           ` [PATCH] drm/i915: Segregate memory domains in the GTT using coloring Chris Wilson
2012-07-26 11:00             ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.