mem-ruby: fix Evict request for CHI excl. caches
Assume core C1 with private L1/L2 and a shared exclusive L3.
C1 has a line in SC state, while the state in the L3 is
RUSC (L3 has exclusive accesses and upstream requester has line in SC).
When C1 evicts the line (Evict request), the L3 has to issue a
WriteEvictFull to the home node, however the L3 doesn't have a copy
of the line.
This fix handling Evict requests when the line state is RUSC. When
the last sharer issues an Evict request, the responder may issue
SnpOnce the obtain a copy the line if needed.
Signed-off-by: Tiago Mück <firstname.lastname@example.org>
Reviewed-by: Jason Lowe-Power <email@example.com>
Tested-by: kokoro <firstname.lastname@example.org>
Maintainer: Jason Lowe-Power <email@example.com>
1 file changed