One could usefully distinguish between a vanilla RFO and an "RFO prefetch".
An RFO prefetch would when the core sends the RFO before it is ready to
commit the store to cache (generally, before the store is at the head of
the store buffer: i.e., next in line). It might still send an RFO prefetch
In addition to the excellent answer above, this feature is called cache
locking.
So when the cache line is loaded, it is also locked and while the cache
line is locked, the CPU won't respond to any cache coherence requests of
other CPUs until the CPU has written to the cache line and unlocked
On Mon, Nov 25, 2019 at 11:50 AM Peter Veentjer wrote:
> I have a question about MESI.
>
> My question isn't about atomic operations; but about an ordinary write to
> the same cacheline done by 2 cores.
>
> If a CPU does a write, the write is placed on the store buffer.
>
> Then the CPU will
I have a question about MESI.
My question isn't about atomic operations; but about an ordinary write to
the same cacheline done by 2 cores.
If a CPU does a write, the write is placed on the store buffer.
Then the CPU will send a invalidation request to the other cores (RFO) for
the given