From 2f17062dd9a465943b57723f72f89ec66a0db664 Mon Sep 17 00:00:00 2001 From: Robert Kovacsics Date: Thu, 19 Jul 2018 18:56:06 +0100 Subject: mem: Rename Packet::checkFunctional to trySatisfyFunctional Packet::checkFunctional also wrote data to/from the packet depending on if it was read/write, respectively, which the 'check' in the name would suggest otherwise. This renames it to doFunctional, which is more suggestive. It also renames any function called checkFunctional which calls Packet::checkFunctional. These are - Bridge::BridgeMasterPort::checkFunctional - calls Packet::checkFunctional - MSHR::checkFunctional - calls Packet::checkFunctional - MSHR::TargetList::checkFunctional - calls Packet::checkFunctional - Queue<>::checkFunctional (of src/mem/cache/queue.hh, not src/cpu/minor/buffers.h) - Instantiated with Queue and Queue - WriteQueueEntry - calls Packet::checkFunctional - WriteQueueEntry::TargetList - calls Packet::checkFunctional - MemDelay::checkFunctional - calls QueuedSlavePort/QueuedMasterPort::checkFunctional - Packet::checkFunctional - PacketQueue::checkFunctional - calls Packet::checkFunctional - QueuedSlavePort::checkFunctional - calls PacketQueue::doFunctional - QueuedMasterPort::checkFunctional - calls PacketQueue::doFunctional - SerialLink::SerialLinkMasterPort::checkFunctional - calls Packet::doFunctional Change-Id: Ieca2579c020c329040da053ba8e25820801b62c5 Reviewed-on: https://gem5-review.googlesource.com/11810 Reviewed-by: Daniel Carvalho Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- src/mem/cache/base.cc | 12 ++++++------ src/mem/cache/mshr.cc | 12 ++++++------ src/mem/cache/mshr.hh | 4 ++-- src/mem/cache/queue.hh | 4 ++-- src/mem/cache/write_queue_entry.cc | 10 +++++----- src/mem/cache/write_queue_entry.hh | 4 ++-- 6 files changed, 23 insertions(+), 23 deletions(-) (limited to 'src/mem/cache') diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc index c1ebdd6c0..862aa3a94 100644 --- a/src/mem/cache/base.cc +++ b/src/mem/cache/base.cc @@ -664,8 +664,8 @@ BaseCache::functionalAccess(PacketPtr pkt, bool from_cpu_side) // see if we have data at all (owned or otherwise) bool have_data = blk && blk->isValid() - && pkt->checkFunctional(&cbpw, blk_addr, is_secure, blkSize, - blk->data); + && pkt->trySatisfyFunctional(&cbpw, blk_addr, is_secure, blkSize, + blk->data); // data we have is dirty if marked as such or if we have an // in-service MSHR that is pending a modified line @@ -674,10 +674,10 @@ BaseCache::functionalAccess(PacketPtr pkt, bool from_cpu_side) (mshr && mshr->inService && mshr->isPendingModified())); bool done = have_dirty || - cpuSidePort.checkFunctional(pkt) || - mshrQueue.checkFunctional(pkt, blk_addr) || - writeBuffer.checkFunctional(pkt, blk_addr) || - memSidePort.checkFunctional(pkt); + cpuSidePort.trySatisfyFunctional(pkt) || + mshrQueue.trySatisfyFunctional(pkt, blk_addr) || + writeBuffer.trySatisfyFunctional(pkt, blk_addr) || + memSidePort.trySatisfyFunctional(pkt); DPRINTF(CacheVerbose, "%s: %s %s%s%s\n", __func__, pkt->print(), (blk && blk->isValid()) ? "valid " : "", diff --git a/src/mem/cache/mshr.cc b/src/mem/cache/mshr.cc index 8629b3377..ccaec7b97 100644 --- a/src/mem/cache/mshr.cc +++ b/src/mem/cache/mshr.cc @@ -207,10 +207,10 @@ MSHR::TargetList::clearDownstreamPending() bool -MSHR::TargetList::checkFunctional(PacketPtr pkt) +MSHR::TargetList::trySatisfyFunctional(PacketPtr pkt) { for (auto& t : *this) { - if (pkt->checkFunctional(t.pkt)) { + if (pkt->trySatisfyFunctional(t.pkt)) { return true; } } @@ -618,17 +618,17 @@ MSHR::promoteWritable() bool -MSHR::checkFunctional(PacketPtr pkt) +MSHR::trySatisfyFunctional(PacketPtr pkt) { // For printing, we treat the MSHR as a whole as single entity. // For other requests, we iterate over the individual targets // since that's where the actual data lies. if (pkt->isPrint()) { - pkt->checkFunctional(this, blkAddr, isSecure, blkSize, nullptr); + pkt->trySatisfyFunctional(this, blkAddr, isSecure, blkSize, nullptr); return false; } else { - return (targets.checkFunctional(pkt) || - deferredTargets.checkFunctional(pkt)); + return (targets.trySatisfyFunctional(pkt) || + deferredTargets.trySatisfyFunctional(pkt)); } } diff --git a/src/mem/cache/mshr.hh b/src/mem/cache/mshr.hh index 050dbd1bf..218de9244 100644 --- a/src/mem/cache/mshr.hh +++ b/src/mem/cache/mshr.hh @@ -235,7 +235,7 @@ class MSHR : public QueueEntry, public Printable void clearDownstreamPending(); void clearDownstreamPending(iterator begin, iterator end); - bool checkFunctional(PacketPtr pkt); + bool trySatisfyFunctional(PacketPtr pkt); void print(std::ostream &os, int verbosity, const std::string &prefix) const; }; @@ -414,7 +414,7 @@ class MSHR : public QueueEntry, public Printable */ void promoteWritable(); - bool checkFunctional(PacketPtr pkt); + bool trySatisfyFunctional(PacketPtr pkt); /** * Prints the contents of this MSHR for debugging. diff --git a/src/mem/cache/queue.hh b/src/mem/cache/queue.hh index 8e5ccf1f4..1d7ce0c07 100644 --- a/src/mem/cache/queue.hh +++ b/src/mem/cache/queue.hh @@ -177,11 +177,11 @@ class Queue : public Drainable return nullptr; } - bool checkFunctional(PacketPtr pkt, Addr blk_addr) + bool trySatisfyFunctional(PacketPtr pkt, Addr blk_addr) { pkt->pushLabel(label); for (const auto& entry : allocatedList) { - if (entry->blkAddr == blk_addr && entry->checkFunctional(pkt)) { + if (entry->blkAddr == blk_addr && entry->trySatisfyFunctional(pkt)) { pkt->popLabel(); return true; } diff --git a/src/mem/cache/write_queue_entry.cc b/src/mem/cache/write_queue_entry.cc index e393731b7..6c8387bcb 100644 --- a/src/mem/cache/write_queue_entry.cc +++ b/src/mem/cache/write_queue_entry.cc @@ -66,10 +66,10 @@ WriteQueueEntry::TargetList::add(PacketPtr pkt, Tick readyTime, } bool -WriteQueueEntry::TargetList::checkFunctional(PacketPtr pkt) +WriteQueueEntry::TargetList::trySatisfyFunctional(PacketPtr pkt) { for (auto& t : *this) { - if (pkt->checkFunctional(t.pkt)) { + if (pkt->trySatisfyFunctional(t.pkt)) { return true; } } @@ -122,16 +122,16 @@ WriteQueueEntry::deallocate() } bool -WriteQueueEntry::checkFunctional(PacketPtr pkt) +WriteQueueEntry::trySatisfyFunctional(PacketPtr pkt) { // For printing, we treat the WriteQueueEntry as a whole as single // entity. For other requests, we iterate over the individual // targets since that's where the actual data lies. if (pkt->isPrint()) { - pkt->checkFunctional(this, blkAddr, isSecure, blkSize, nullptr); + pkt->trySatisfyFunctional(this, blkAddr, isSecure, blkSize, nullptr); return false; } else { - return targets.checkFunctional(pkt); + return targets.trySatisfyFunctional(pkt); } } diff --git a/src/mem/cache/write_queue_entry.hh b/src/mem/cache/write_queue_entry.hh index 5a4b5a820..f4ccb1a8c 100644 --- a/src/mem/cache/write_queue_entry.hh +++ b/src/mem/cache/write_queue_entry.hh @@ -97,7 +97,7 @@ class WriteQueueEntry : public QueueEntry, public Printable TargetList() {} void add(PacketPtr pkt, Tick readyTime, Counter order); - bool checkFunctional(PacketPtr pkt); + bool trySatisfyFunctional(PacketPtr pkt); void print(std::ostream &os, int verbosity, const std::string &prefix) const; }; @@ -179,7 +179,7 @@ class WriteQueueEntry : public QueueEntry, public Printable targets.pop_front(); } - bool checkFunctional(PacketPtr pkt); + bool trySatisfyFunctional(PacketPtr pkt); /** * Prints the contents of this MSHR for debugging. -- cgit v1.2.3