From 5de50cc9dd6c6e8dc2c305d991e73e1c43fb5880 Mon Sep 17 00:00:00 2001 From: Yu-hsin Wang Date: Thu, 7 Dec 2023 10:21:28 +0800 Subject: [PATCH] mem: update flag description and the if-block style Change-Id: Iac727d38b88f1818aeeccf0d8de639fe18759074 --- src/mem/AbstractMemory.py | 9 ++++++++- src/mem/abstract_mem.cc | 6 ++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/mem/AbstractMemory.py b/src/mem/AbstractMemory.py index 32d18adab2..f00e2868da 100644 --- a/src/mem/AbstractMemory.py +++ b/src/mem/AbstractMemory.py @@ -77,4 +77,11 @@ class AbstractMemory(ClockedObject): writeable = Param.Bool(True, "Allow writes to this memory") - collect_stats = Param.Bool(True, "Collect traffic statistics") + collect_stats = Param.Bool( + True, + "Collect statistics per requestor for " + "each type of access. Set this to `False` if " + "requestors may be unknown or when running " + "with multiple `System` objects without a " + "`SysBridge`.", + ) diff --git a/src/mem/abstract_mem.cc b/src/mem/abstract_mem.cc index f22ea35527..461fd4c1fe 100644 --- a/src/mem/abstract_mem.cc +++ b/src/mem/abstract_mem.cc @@ -433,8 +433,9 @@ AbstractMemory::access(PacketPtr pkt) assert(!pkt->req->isInstFetch()); TRACE_PACKET("Read/Write"); - if (collectStats) + if (collectStats) { stats.numOther[pkt->req->requestorId()]++; + } } } else if (pkt->isRead()) { assert(!pkt->isWrite()); @@ -451,8 +452,9 @@ AbstractMemory::access(PacketPtr pkt) if (collectStats) { stats.numReads[pkt->req->requestorId()]++; stats.bytesRead[pkt->req->requestorId()] += pkt->getSize(); - if (pkt->req->isInstFetch()) + if (pkt->req->isInstFetch()) { stats.bytesInstRead[pkt->req->requestorId()] += pkt->getSize(); + } } } else if (pkt->isInvalidate() || pkt->isClean()) { assert(!pkt->isWrite());