From 0fcb376e5fc6bc0a7b16dc4595d4a7e3f910cbc8 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Thu, 31 Dec 2015 09:32:58 -0500 Subject: mem: Make cache terminology easier to understand This patch changes the name of a bunch of packet flags and MSHR member functions and variables to make the coherency protocol easier to understand. In addition the patch adds and updates lots of descriptions, explicitly spelling out assumptions. The following name changes are made: * the packet memInhibit flag is renamed to cacheResponding * the packet sharedAsserted flag is renamed to hasSharers * the packet NeedsExclusive attribute is renamed to NeedsWritable * the packet isSupplyExclusive is renamed responderHadWritable * the MSHR pendingDirty is renamed to pendingModified The cache states, Modified, Owned, Exclusive, Shared are also called out in the cache and MSHR code to make it easier to understand. --- src/cpu/o3/cpu.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/cpu/o3/cpu.cc') diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 694762167..79ad705bf 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -92,9 +92,9 @@ bool FullO3CPU::IcachePort::recvTimingResp(PacketPtr pkt) { DPRINTF(O3CPU, "Fetch unit received timing\n"); - // We shouldn't ever get a cacheable block in ownership state + // We shouldn't ever get a cacheable block in Modified state assert(pkt->req->isUncacheable() || - !(pkt->memInhibitAsserted() && !pkt->sharedAsserted())); + !(pkt->cacheResponding() && !pkt->hasSharers())); fetch->processCacheCompletion(pkt); return true; -- cgit v1.2.3