[Mesa-dev] [PATCH] mesa: Add missing _mm_mfence() before streaming loads.

Matt Turner mattst88 at gmail.com
Mon Oct 5 11:55:57 PDT 2015


On Thu, Oct 1, 2015 at 11:20 AM, Jordan Justen
<jordan.l.justen at intel.com> wrote:
> On 2015-10-01 10:11:33, Matt Turner wrote:
>> According to the Intel Software Development Manual:
>
> How about a more specific doc location?
>
> According to the Intel Software Development Manual (Volume 1: Basic
> Architecture, 12.10.3 Streaming Load Hint Instruction):

Sure. Thanks for looking that up for me.

>>    Streaming loads may be weakly ordered and may appear to software to
>>    execute out of order with respect to other memory operations.
>>    Software must explicitly use fences (e.g. MFENCE) if it needs to
>>    preserve order among streaming loads or between streaming loads and
>>    other memory operations.
>
> Does this mean we need a mfence following the load as well?

I didn't think so, and Joseph has confirmed.

Can I consider this a Reviewed-by?


More information about the mesa-dev mailing list