From c636a09e83b08c27ce60a0f1d13536d736a06926 Mon Sep 17 00:00:00 2001 From: "Dibakar Gope ext:(%2C%20Nilay%20Vaish%20%3Cnilay%40cs.wisc.edu%3E)" Date: Thu, 28 Feb 2013 10:04:26 -0600 Subject: ruby: mesi coherence protocol: invalidate lock The MESI CMP directory coherence protocol, while transitioning from SM to IM, did not invalidate the lock that it might have taken on a cache line. This patch adds an action for doing so. The problem was found by Dibakar, but I was not happy with his proposed solution. So I implemented a different solution. Committed by: Nilay Vaish --- src/mem/protocol/RubySlicc_Types.sm | 1 + 1 file changed, 1 insertion(+) (limited to 'src/mem/protocol/RubySlicc_Types.sm') diff --git a/src/mem/protocol/RubySlicc_Types.sm b/src/mem/protocol/RubySlicc_Types.sm index 096215386..c94020792 100644 --- a/src/mem/protocol/RubySlicc_Types.sm +++ b/src/mem/protocol/RubySlicc_Types.sm @@ -110,6 +110,7 @@ structure (Sequencer, external = "yes") { void evictionCallback(Address); void recordRequestType(SequencerRequestType); bool checkResourceAvailable(CacheResourceType, Address); + void invalidateSC(Address); } structure(RubyRequest, desc="...", interface="Message", external="yes") { -- cgit v1.2.3