[Mesa-dev] [PATCH] radv: Invalidate L2 for TRANSFER_WRITE barriers

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue Mar 28 18:11:02 UTC 2017


On Tue, Mar 28, 2017 at 6:31 PM, Alex Smith <asmith at feralinteractive.com> wrote:
> On 28 March 2017 at 17:09, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>
>> On 22 March 2017 at 10:06, Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>> wrote:
>> > On Tue, Mar 21, 2017 at 1:02 PM, Alex Smith
>> > <asmith at feralinteractive.com> wrote:
>> >> CP DMA and PKT3_WRITE_DATA (in CmdUpdateBuffer) don't (currently) write
>> >> through L2. Therefore, to make these writes visible to later accesses
>> >> we must invalidate L2 rather than just writing it back, to avoid the
>> >> possibility that stale data is read through L2.
>> >>
>> >> Cc: "17.0" <mesa-stable at lists.freedesktop.org>
>> >> Signed-off-by: Alex Smith <asmith at feralinteractive.com>
>> >> ---
>> >> It's possible for both CP DMA and PKT3_WRITE_DATA to write through L2
>> >> as far as I can see, and changing things so that they do also solves
>> >> the problems that this patch fixes.
>> >>
>> >> However, I don't know what the exact consequences of doing so are, or
>> >> whether there are any situations where that shouldn't be done, so I've
>> >> gone with this fix instead as it seems like a safer option for now.
>> >
>> > Yeah we should be able to. I'm more comfortable sending this patch to
>> > stable though, so this patch is
>> >
>> Bas, others,
>>
>> Patch addresses radv_{src,dst}_access_flush() which landed with commit
>> 6dbb0eaccc3, after the 17.0 branchpoint.
>
>
> Oops, my mistake.
>
> I think radv_CmdPipelineBarrier on the 17.0 branch still needs
> RADV_CMD_FLAG_INV_GLOBAL_L2 added for TRANSFER_WRITE barriers at least. Bas,
> do you think that should be added in a separate patch just for stable, or
> would you prefer to push those later changes to stable as well? Looks like
> there's some fixes in those as well.

I'd prefer to backport this patch. The other patches IMO contain too
much risk for regression and are actually mostly for optimizations.
>
> Alex
>
>>
>>
>> From a quick look, the functions has been fixed/enhanced with the
>> following 7 commits. Some of which require additional patches.
>> If we want this in stable, please provide a backport or branch based
>> on top of mesa-17.0.2.
>>
>> Thanks
>> Emil
>>
>> 40e0dbf96c4d812be940561f5732b1b0e44b5e1d
>> f3dc318464b786c2696e650e7c69984b5453624b
>> b075eb7d476eb750092f72e7ec65bc41003fa658
>> dd094e4ff9ff0967b515a4330e40feca55247e25
>> 7a600bbc8186fef9475bedfe6d58a54011a8022b
>> 0567ab0407e4058c108443b90b7c23a40c391c3b
>> f92a118434452df201cda6d9ec2405aca669b104
>
>


More information about the mesa-dev mailing list