drm/amdgpu: invalidate L2 before SDMA IBs (on gfx10)

Liu, Monk Monk.Liu at amd.com
Wed Apr 29 09:06:28 UTC 2020


Hi @Koenig, Christian<mailto:Christian.Koenig at amd.com> & Marek

I still have some concerns regarding Marek’s patch, correct me if I’m wrong

See that Marek put a SDMA_OP_GCR_REQ before emitting IB, to make sure SDMA won’t get stale cache data during the IB execution.

But that “SDMA_OP_GCR_REQ” only invalidate/flush the GFXHUB’s G2LC cache right ?  what if the memory is changed by MM or CPU (out side of GFXHUB) ?

Can this “ SDMA_OP_GCR_REQ” force MMHUB or even CPU to flush their operation result from their cache to memory ??

Besides, with my understanding the “EOP” of gfx ring is doing the thing of “invalidate/flush” L2 cache upon a fence signaled, so what we should do on SDMA5 is to insert this “SDMA_OP_GCR_REQ”
Right before thee “emit_fence” of SDMA  (this is what windows KMD do)

thanks
_____________________________________
Monk Liu|GPU Virtualization Team |AMD
[sig-cloud-gpu]

From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Marek Ol?ák
Sent: Saturday, April 25, 2020 4:52 PM
To: amd-gfx mailing list <amd-gfx at lists.freedesktop.org>
Subject: drm/amdgpu: invalidate L2 before SDMA IBs (on gfx10)

This should fix SDMA hangs on gfx10.

Marek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20200429/3449595f/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 12243 bytes
Desc: image001.png
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20200429/3449595f/attachment-0001.png>


More information about the amd-gfx mailing list