Nov. 17, 2020
6:25 a.m.
On Tue, 17 Nov 2020 14:08:02 +0900, Wonhyuk Yang said:
dc ivac,x1 // invalidate a cache line that's probably OK str w0,[x1 // and now we do a store that leaves a possibly stale cache line
Could you explain me why the store still leaves stale cache? We invalidated the cacheline and store will not make footprint in the cache.
There's a race condition... Invalidate the cache line.... then another CPU manages to fetch the cache line. and then we do a store that doesn't update the cache - and the other CPU is still looking at the old data.