ruby: fix bugs in mesi cmp directory protocol
authorNilay Vaish <nilay@cs.wisc.edu>
Thu, 26 Dec 2013 21:18:55 +0000 (15:18 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Thu, 26 Dec 2013 21:18:55 +0000 (15:18 -0600)
commitd71311b1cfba4839a493f5e15944ed2b0f987a7d
treea7ef350ec5ac2b1350474b6bb0d8b9b6ff010313
parentfc53f9ffcc880a5429fb41a881bc095bf200e4a4
ruby: fix bugs in mesi cmp directory protocol
This patch fixes couple of bugs in the L2 controller of the mesi cmp
directory protocol.

1. The state MT_I was transitioning to NP on receiving a clean writeback
from the L1 controller.  This patch makes it inform the directory controller
about the writeback.

2. The L2 controller was sending the dirty bit to the L1 controller and the
L2 controller used writeback from the L1 controller to update the dirty bit
unconditionally.  Now, the L1 controller always assumes that the incoming
data is clean.  The L2 controller updates the dirty bit only when the L1
controller writes to the block.

3. Certain unused functions and events are being removed.
src/mem/protocol/MESI_CMP_directory-L2cache.sm