<div dir="ltr"><div>The usage is that UMDs will no longer have to wait for idle at the end of IBs. If you have WAIT_REG_MEM or PS/CS_PARTIAL_FLUSH at the end of IBs, you can remove that. The responsibility to sync is taken over by the kernel driver.<br></div><div><br></div><div> This has a potential to increase performance for fullscreen applications, because the kernel will sync only when the sync is required for inter-process sharing, which is never for fullscreen apps.</div><div><br></div><div>Also if 2 or more windowed apps are rendering, there will be no longer any sync when switching from one process to the next in the gfx ring. The sync will only happen before the compositor starts drawing the fullscreen frame. Therefore, the windowed apps running in parallel should run faster.</div><div><br></div><div>If the UMD syncs at the beginning of IBs (common e.g. with DCC fast clear), there will be no improvement in performance. For any improvement to be there, UMDs shouldn't sync at the beginning of IBs either, but this may not always be possible. (a fast color clear needs a sync, while a fast Z/S clear doesn't)<br></div><div><br></div><div>Marek<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 11, 2020 at 8:13 AM Chunming Zhou <<a href="mailto:zhoucm1@amd.com" target="_blank">zhoucm1@amd.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>I didn't check the patch details, if it is for existing implicit
sync of shared buffer, feel free go ahead.</p>
<p>But if you add some description for its usage, that will be more
clear to others.</p>
<p>-David<br>
</p>
<div>在 2020/6/11 15:19, Marek Olšák 写道:<br>
</div>
<blockquote type="cite">
<div dir="auto">Hi David,
<div dir="auto"><br>
</div>
<div dir="auto">Explicit sync has nothing to do with this. This
is for implicit sync, which is required by DRI3. This fix
allows removing existing inefficiencies from drivers, so it's
a good thing.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Marek</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed., Jun. 10, 2020, 03:56
Chunming Zhou, <<a href="mailto:zhoucm1@amd.com" target="_blank">zhoucm1@amd.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>在 2020/6/10 15:41, Christian König 写道:<br>
</div>
<blockquote type="cite">
<div>That's true, but for now we are stuck with the
implicit sync for quite a number of use cases.<br>
<br>
My problem is rather that we already tried this and it
backfired immediately.<br>
<br>
I do remember that it was your patch who introduced the
pipeline sync flag handling and I warned that this could
be problematic. You then came back with a QA result
saying that this is indeed causing a huge performance
drop in one test case and we need to do something else.
Together we then came up with the different handling
between implicit and explicit sync.<br>
</div>
</blockquote>
<p>Isn't pipeline sync flag to fix some issue because of
parralel execution between jobs in one pipeline? I really
don't have this memory in mind why that's realted to this,
Or do you mean extra sync hides many other potential
issues?</p>
<p>Anyway, when I go through Vulkan WSI code, the
synchronization isn't so smooth between OS window system.
And when I saw Jason drives explicit sync through the
whole Linux ecosystem like Android window system does, I
feel that's really a good direction.</p>
<p>-David<br>
</p>
<blockquote type="cite">
<div> <br>
But I can't find that stupid mail thread any more. I
knew that it was a couple of years ago when we started
with the explicit sync for Vulkan.<br>
<br>
Christian.<br>
<br>
Am 10.06.20 um 08:29 schrieb Zhou, David(ChunMing):<br>
</div>
<blockquote type="cite">
<div>
<p style="margin:0in 0in 0.0001pt"><span style="font-size:10pt;font-family:"Arial",sans-serif;color:rgb(0,120,215)">[AMD
Official Use Only - Internal Distribution Only]</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Not sue if this is right
direction, I think usermode wants all
synchronizations to be explicit. Implicit sync often
confuses people who don’t know its history. I
remember Jason from Intel is driving explicit
synchronization through the Linux ecosystem, which
even removes implicit sync of shared buffer.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">-David</p>
<p class="MsoNormal"> </p>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> amd-gfx <a href="mailto:amd-gfx-bounces@lists.freedesktop.org" rel="noreferrer" target="_blank"><amd-gfx-bounces@lists.freedesktop.org></a>
<b>On Behalf Of </b>Marek Olšák<br>
<b>Sent:</b> Tuesday, June 9, 2020 6:58 PM<br>
<b>To:</b> amd-gfx mailing list <a href="mailto:amd-gfx@lists.freedesktop.org" rel="noreferrer" target="_blank"><amd-gfx@lists.freedesktop.org></a><br>
<b>Subject:</b> [PATCH] drm/amdgpu: remove
distinction between explicit and implicit sync
(v2)</p>
</div>
<p class="MsoNormal"> </p>
<div>
<div>
<p class="MsoNormal">Hi,</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">This enables a full pipeline
sync for implicit sync. It's Christian's patch
with the driver version bumped. With this, user
mode drivers don't have to wait for idle at the
end of gfx IBs.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Any concerns?</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Thanks,</p>
</div>
<div>
<p class="MsoNormal">Marek</p>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
amd-gfx mailing list
<a href="mailto:amd-gfx@lists.freedesktop.org" rel="noreferrer" target="_blank">amd-gfx@lists.freedesktop.org</a>
<a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CDavid1.Zhou%40amd.com%7C0d3096fc043f4443f14e08d80dd7c674%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637274567683552668&sdata=xIHDswGRsdCP%2BE7MRI4nKXdoMgV2LBzFPP46zGpQusk%3D&reserved=0" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a>
</pre>
</blockquote>
<br>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote></div></div>