diff options
author | Robert Kovacsics <rmk35@cl.cam.ac.uk> | 2018-07-19 18:56:06 +0100 |
---|---|---|
committer | Kovacsics RĂ³bert <kovirobi@gmail.com> | 2018-07-23 11:57:50 +0000 |
commit | 2f17062dd9a465943b57723f72f89ec66a0db664 (patch) | |
tree | b1b017079a912021b892e159572e3d8055181b66 /src/mem/cache | |
parent | 4158138d1f0ef14b7be2f55382836821b7ac09d5 (diff) | |
download | gem5-2f17062dd9a465943b57723f72f89ec66a0db664.tar.xz |
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<WriteQueueEntry> and Queue<MSHR>
- 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 <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/mem/cache')
-rw-r--r-- | src/mem/cache/base.cc | 12 | ||||
-rw-r--r-- | src/mem/cache/mshr.cc | 12 | ||||
-rw-r--r-- | src/mem/cache/mshr.hh | 4 | ||||
-rw-r--r-- | src/mem/cache/queue.hh | 4 | ||||
-rw-r--r-- | src/mem/cache/write_queue_entry.cc | 10 | ||||
-rw-r--r-- | src/mem/cache/write_queue_entry.hh | 4 |
6 files changed, 23 insertions, 23 deletions
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. |