Thread (22 messages) 22 messages, 6 authors, 2014-09-04

Re: TTM placement & caching issue/questions

From: Thomas Hellstrom <hidden>
Date: 2014-09-04 10:23:48
Also in: dri-devel

On 09/04/2014 11:43 AM, Benjamin Herrenschmidt wrote:
On Thu, 2014-09-04 at 11:34 +0200, Daniel Vetter wrote:
quoted
On Thu, Sep 04, 2014 at 09:44:04AM +0200, Thomas Hellstrom wrote:
quoted
Last time I tested, (and it seems like Michel is on the same track),
writing with the CPU to write-combined memory was substantially faster
than writing to cached memory, with the additional side-effect that CPU
caches are left unpolluted.

Moreover (although only tested on Intel's embedded chipsets), texturing
from cpu-cache-coherent PCI memory was a real GPU performance hog
compared to texturing from non-snooped memory. Hence, whenever a buffer
could be classified as GPU-read-only (or almost at least), it should be
placed in write-combined memory.
Just a quick comment since this explicitly referes to intel chips: On
desktop/laptop chips with the big shared l3/l4 caches it's the other way
round. Cached uploads are substantially faster than wc and not using
coherent access is a severe perf hit for texturing. I guess the hw guys
worked really hard to hide the snooping costs so that the gpu can benefit
from the massive bandwidth these caches can provide.
This is similar to modern POWER chips as well. We have pretty big L3's
(though not technically shared they are in a separate quadrant and we
have a shared L4 in the memory buffer) and our fabric is generally
optimized for cachable/coherent access performance. In fact, we only
have so many credits for NC accesses on the bus...
Thanks both of you for the update. I haven't dealt with real hardware
for a while..

/Thomas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help