base-stats,misc: Rename Stats namespace as statistics
As part of recent decisions regarding namespace naming conventions, all namespaces will be changed to snake case. ::Stats became ::statistics. "statistics" was chosen over "stats" to avoid generating conflicts with the already existing variables (there are way too many "stats" in the codebase), which would make this patch even more disturbing for the users. Change-Id: If877b12d7dac356f86e3b3d941bf7558a4fd8719 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45421 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Daniel Carvalho
parent
fa505f1c23
commit
98ac080ec4
@@ -455,23 +455,22 @@ FlashDevice::getUnknownPages(uint32_t index)
|
||||
return unknownPages[index >> 5] & (0x01 << (index % 32));
|
||||
}
|
||||
|
||||
FlashDevice::
|
||||
FlashDeviceStats::FlashDeviceStats(Stats::Group *parent)
|
||||
: Stats::Group(parent, "FlashDevice"),
|
||||
ADD_STAT(totalGCActivations, Stats::units::Count::get(),
|
||||
FlashDevice::FlashDeviceStats::FlashDeviceStats(statistics::Group *parent)
|
||||
: statistics::Group(parent, "FlashDevice"),
|
||||
ADD_STAT(totalGCActivations, statistics::units::Count::get(),
|
||||
"Number of Garbage collector activations"),
|
||||
ADD_STAT(writeAccess, Stats::units::Count::get(),
|
||||
ADD_STAT(writeAccess, statistics::units::Count::get(),
|
||||
"Histogram of write addresses"),
|
||||
ADD_STAT(readAccess, Stats::units::Count::get(),
|
||||
ADD_STAT(readAccess, statistics::units::Count::get(),
|
||||
"Histogram of read addresses"),
|
||||
ADD_STAT(fileSystemAccess, Stats::units::Count::get(),
|
||||
ADD_STAT(fileSystemAccess, statistics::units::Count::get(),
|
||||
"Histogram of file system accesses"),
|
||||
ADD_STAT(writeLatency, Stats::units::Tick::get(),
|
||||
ADD_STAT(writeLatency, statistics::units::Tick::get(),
|
||||
"Histogram of write latency"),
|
||||
ADD_STAT(readLatency, Stats::units::Tick::get(),
|
||||
ADD_STAT(readLatency, statistics::units::Tick::get(),
|
||||
"Histogram of read latency")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
/** Amount of GC activations*/
|
||||
totalGCActivations
|
||||
|
||||
@@ -93,21 +93,21 @@ class FlashDevice : public AbstractNVM
|
||||
std::function<void()> function;
|
||||
};
|
||||
|
||||
struct FlashDeviceStats : public Stats::Group
|
||||
struct FlashDeviceStats : public statistics::Group
|
||||
{
|
||||
FlashDeviceStats(Stats::Group *parent);
|
||||
FlashDeviceStats(statistics::Group *parent);
|
||||
|
||||
/** Amount of GC activations*/
|
||||
Stats::Scalar totalGCActivations;
|
||||
statistics::Scalar totalGCActivations;
|
||||
|
||||
/** Histogram of address accesses*/
|
||||
Stats::Histogram writeAccess;
|
||||
Stats::Histogram readAccess;
|
||||
Stats::Histogram fileSystemAccess;
|
||||
statistics::Histogram writeAccess;
|
||||
statistics::Histogram readAccess;
|
||||
statistics::Histogram fileSystemAccess;
|
||||
|
||||
/** Histogram of access latencies*/
|
||||
Stats::Histogram writeLatency;
|
||||
Stats::Histogram readLatency;
|
||||
statistics::Histogram writeLatency;
|
||||
statistics::Histogram readLatency;
|
||||
};
|
||||
|
||||
/** Device access functions Inherrited from AbstractNVM*/
|
||||
|
||||
@@ -78,13 +78,12 @@ HDLcd::HDLcd(const HDLcdParams &p)
|
||||
imgWriter = createImgWriter(imgFormat, &pixelPump.fb);
|
||||
}
|
||||
|
||||
HDLcd::
|
||||
HDLcdStats::HDLcdStats(Stats::Group *parent)
|
||||
: Stats::Group(parent, "HDLcd"),
|
||||
ADD_STAT(underruns, Stats::units::Count::get(),
|
||||
HDLcd::HDLcdStats::HDLcdStats(statistics::Group *parent)
|
||||
: statistics::Group(parent, "HDLcd"),
|
||||
ADD_STAT(underruns, statistics::units::Count::get(),
|
||||
"Number of buffer underruns")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
underruns.flags(nozero);
|
||||
}
|
||||
|
||||
@@ -411,10 +411,10 @@ class HDLcd: public AmbaDmaDevice
|
||||
std::unique_ptr<DmaEngine> dmaEngine;
|
||||
|
||||
protected: // Statistics
|
||||
struct HDLcdStats: public Stats::Group
|
||||
struct HDLcdStats: public statistics::Group
|
||||
{
|
||||
HDLcdStats(Stats::Group *parent);
|
||||
Stats::Scalar underruns;
|
||||
HDLcdStats(statistics::Group *parent);
|
||||
statistics::Scalar underruns;
|
||||
} stats;
|
||||
};
|
||||
|
||||
|
||||
@@ -745,18 +745,18 @@ SMMUv3::init()
|
||||
controlPort.sendRangeChange();
|
||||
}
|
||||
|
||||
SMMUv3::SMMUv3Stats::SMMUv3Stats(Stats::Group *parent)
|
||||
: Stats::Group(parent),
|
||||
ADD_STAT(steL1Fetches, Stats::units::Count::get(), "STE L1 fetches"),
|
||||
ADD_STAT(steFetches, Stats::units::Count::get(), "STE fetches"),
|
||||
ADD_STAT(cdL1Fetches, Stats::units::Count::get(), "CD L1 fetches"),
|
||||
ADD_STAT(cdFetches, Stats::units::Count::get(), "CD fetches"),
|
||||
ADD_STAT(translationTimeDist, Stats::units::Tick::get(),
|
||||
"Time to translate address"),
|
||||
ADD_STAT(ptwTimeDist, Stats::units::Tick::get(),
|
||||
"Time to walk page tables")
|
||||
SMMUv3::SMMUv3Stats::SMMUv3Stats(statistics::Group *parent)
|
||||
: statistics::Group(parent),
|
||||
ADD_STAT(steL1Fetches, statistics::units::Count::get(), "STE L1 fetches"),
|
||||
ADD_STAT(steFetches, statistics::units::Count::get(), "STE fetches"),
|
||||
ADD_STAT(cdL1Fetches, statistics::units::Count::get(), "CD L1 fetches"),
|
||||
ADD_STAT(cdFetches, statistics::units::Count::get(), "CD fetches"),
|
||||
ADD_STAT(translationTimeDist, statistics::units::Tick::get(),
|
||||
"Time to translate address"),
|
||||
ADD_STAT(ptwTimeDist, statistics::units::Tick::get(),
|
||||
"Time to walk page tables")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
steL1Fetches
|
||||
.flags(pdf);
|
||||
|
||||
@@ -133,15 +133,15 @@ class SMMUv3 : public ClockedObject
|
||||
const Cycles walkLat;
|
||||
|
||||
// Stats
|
||||
struct SMMUv3Stats : public Stats::Group
|
||||
struct SMMUv3Stats : public statistics::Group
|
||||
{
|
||||
SMMUv3Stats(Stats::Group *parent);
|
||||
Stats::Scalar steL1Fetches;
|
||||
Stats::Scalar steFetches;
|
||||
Stats::Scalar cdL1Fetches;
|
||||
Stats::Scalar cdFetches;
|
||||
Stats::Distribution translationTimeDist;
|
||||
Stats::Distribution ptwTimeDist;
|
||||
SMMUv3Stats(statistics::Group *parent);
|
||||
statistics::Scalar steL1Fetches;
|
||||
statistics::Scalar steFetches;
|
||||
statistics::Scalar cdL1Fetches;
|
||||
statistics::Scalar cdFetches;
|
||||
statistics::Distribution translationTimeDist;
|
||||
statistics::Distribution ptwTimeDist;
|
||||
} stats;
|
||||
|
||||
std::vector<SMMUv3DeviceInterface *> deviceInterfaces;
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
*/
|
||||
|
||||
SMMUv3BaseCache::SMMUv3BaseCache(const std::string &policy_name, uint32_t seed,
|
||||
Stats::Group *parent, const std::string &name)
|
||||
statistics::Group *parent, const std::string &name)
|
||||
: replacementPolicy(decodePolicyName(policy_name)),
|
||||
nextToReplace(0),
|
||||
random(seed),
|
||||
@@ -83,28 +83,28 @@ SMMUv3BaseCache::decodePolicyName(const std::string &policy_name)
|
||||
|
||||
SMMUv3BaseCache::
|
||||
SMMUv3BaseCacheStats::SMMUv3BaseCacheStats(
|
||||
Stats::Group *parent, const std::string &name)
|
||||
: Stats::Group(parent, name.c_str()),
|
||||
ADD_STAT(averageLookups, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Second>::get(),
|
||||
statistics::Group *parent, const std::string &name)
|
||||
: statistics::Group(parent, name.c_str()),
|
||||
ADD_STAT(averageLookups, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Second>::get(),
|
||||
"Average number lookups per second"),
|
||||
ADD_STAT(totalLookups, Stats::units::Count::get(),
|
||||
ADD_STAT(totalLookups, statistics::units::Count::get(),
|
||||
"Total number of lookups"),
|
||||
ADD_STAT(averageMisses, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Second>::get(),
|
||||
ADD_STAT(averageMisses, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Second>::get(),
|
||||
"Average number misses per second"),
|
||||
ADD_STAT(totalMisses, Stats::units::Count::get(),
|
||||
ADD_STAT(totalMisses, statistics::units::Count::get(),
|
||||
"Total number of misses"),
|
||||
ADD_STAT(averageUpdates, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Second>::get(),
|
||||
ADD_STAT(averageUpdates, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Second>::get(),
|
||||
"Average number updates per second"),
|
||||
ADD_STAT(totalUpdates, Stats::units::Count::get(),
|
||||
ADD_STAT(totalUpdates, statistics::units::Count::get(),
|
||||
"Total number of updates"),
|
||||
ADD_STAT(averageHitRate, Stats::units::Ratio::get(), "Average hit rate"),
|
||||
ADD_STAT(insertions, Stats::units::Count::get(),
|
||||
ADD_STAT(averageHitRate, statistics::units::Ratio::get(), "Average hit rate"),
|
||||
ADD_STAT(insertions, statistics::units::Count::get(),
|
||||
"Number of insertions (not replacements)")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
|
||||
averageLookups
|
||||
@@ -148,7 +148,7 @@ SMMUv3BaseCacheStats::SMMUv3BaseCacheStats(
|
||||
*/
|
||||
|
||||
SMMUTLB::SMMUTLB(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent,
|
||||
const std::string &policy, statistics::Group *parent,
|
||||
const std::string &name)
|
||||
:
|
||||
SMMUv3BaseCache(policy, SMMUTLB_SEED, parent, name),
|
||||
@@ -429,7 +429,7 @@ SMMUTLB::pickEntryIdxToReplace(const Set &set, AllocPolicy alloc)
|
||||
*/
|
||||
|
||||
ARMArchTLB::ARMArchTLB(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent)
|
||||
const std::string &policy, statistics::Group *parent)
|
||||
:
|
||||
SMMUv3BaseCache(policy, ARMARCHTLB_SEED, parent, "tlb"),
|
||||
associativity(_associativity)
|
||||
@@ -628,7 +628,7 @@ ARMArchTLB::pickEntryIdxToReplace(const Set &set)
|
||||
*/
|
||||
|
||||
IPACache::IPACache(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent)
|
||||
const std::string &policy, statistics::Group *parent)
|
||||
:
|
||||
SMMUv3BaseCache(policy, IPACACHE_SEED, parent, "ipa"),
|
||||
associativity(_associativity)
|
||||
@@ -808,7 +808,7 @@ IPACache::pickEntryIdxToReplace(const Set &set)
|
||||
*/
|
||||
|
||||
ConfigCache::ConfigCache(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent)
|
||||
const std::string &policy, statistics::Group *parent)
|
||||
:
|
||||
SMMUv3BaseCache(policy, CONFIGCACHE_SEED, parent, "cfg"),
|
||||
associativity(_associativity)
|
||||
@@ -973,7 +973,7 @@ ConfigCache::pickEntryIdxToReplace(const Set &set)
|
||||
|
||||
WalkCache::WalkCache(const std::array<unsigned, 2*WALK_CACHE_LEVELS> &_sizes,
|
||||
unsigned _associativity, const std::string &policy,
|
||||
Stats::Group *parent) :
|
||||
statistics::Group *parent) :
|
||||
SMMUv3BaseCache(policy, WALKCACHE_SEED, parent, "walk"),
|
||||
walkCacheStats(&(SMMUv3BaseCache::baseCacheStats)),
|
||||
associativity(_associativity),
|
||||
@@ -1226,19 +1226,18 @@ WalkCache::pickEntryIdxToReplace(const Set &set,
|
||||
|
||||
}
|
||||
|
||||
WalkCache::
|
||||
WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
: Stats::Group(parent),
|
||||
ADD_STAT(totalLookupsByStageLevel, Stats::units::Count::get(),
|
||||
WalkCache::WalkCacheStats::WalkCacheStats(statistics::Group *parent)
|
||||
: statistics::Group(parent),
|
||||
ADD_STAT(totalLookupsByStageLevel, statistics::units::Count::get(),
|
||||
"Total number of lookups"),
|
||||
ADD_STAT(totalMissesByStageLevel, Stats::units::Count::get(),
|
||||
ADD_STAT(totalMissesByStageLevel, statistics::units::Count::get(),
|
||||
"Total number of misses"),
|
||||
ADD_STAT(totalUpdatesByStageLevel, Stats::units::Count::get(),
|
||||
ADD_STAT(totalUpdatesByStageLevel, statistics::units::Count::get(),
|
||||
"Total number of updates"),
|
||||
ADD_STAT(insertionsByStageLevel, Stats::units::Count::get(),
|
||||
ADD_STAT(insertionsByStageLevel, statistics::units::Count::get(),
|
||||
"Number of insertions (not replacements)")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
totalLookupsByStageLevel
|
||||
.init(2, WALK_CACHE_LEVELS)
|
||||
@@ -1265,11 +1264,11 @@ WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
totalUpdatesByStageLevel.ysubname(l, csprintf("L%d", l));
|
||||
insertionsByStageLevel.ysubname(l, csprintf("L%d", l));
|
||||
|
||||
auto avg_lookup = new Stats::Formula(
|
||||
auto avg_lookup = new statistics::Formula(
|
||||
this,
|
||||
csprintf("averageLookups_S%dL%d", s+1, l).c_str(),
|
||||
Stats::units::Rate<Stats::units::Count,
|
||||
Stats::units::Second>::get(),
|
||||
statistics::units::Rate<statistics::units::Count,
|
||||
statistics::units::Second>::get(),
|
||||
"Average number lookups per second");
|
||||
avg_lookup->flags(pdf);
|
||||
averageLookupsByStageLevel.push_back(avg_lookup);
|
||||
@@ -1277,11 +1276,11 @@ WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
*avg_lookup =
|
||||
totalLookupsByStageLevel[s][l] / simSeconds;
|
||||
|
||||
auto avg_misses = new Stats::Formula(
|
||||
auto avg_misses = new statistics::Formula(
|
||||
this,
|
||||
csprintf("averageMisses_S%dL%d", s+1, l).c_str(),
|
||||
Stats::units::Rate<Stats::units::Count,
|
||||
Stats::units::Second>::get(),
|
||||
statistics::units::Rate<statistics::units::Count,
|
||||
statistics::units::Second>::get(),
|
||||
"Average number misses per second");
|
||||
avg_misses->flags(pdf);
|
||||
averageMissesByStageLevel.push_back(avg_misses);
|
||||
@@ -1289,11 +1288,11 @@ WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
*avg_misses =
|
||||
totalMissesByStageLevel[s][l] / simSeconds;
|
||||
|
||||
auto avg_updates = new Stats::Formula(
|
||||
auto avg_updates = new statistics::Formula(
|
||||
this,
|
||||
csprintf("averageUpdates_S%dL%d", s+1, l).c_str(),
|
||||
Stats::units::Rate<Stats::units::Count,
|
||||
Stats::units::Second>::get(),
|
||||
statistics::units::Rate<statistics::units::Count,
|
||||
statistics::units::Second>::get(),
|
||||
"Average number updates per second");
|
||||
avg_updates->flags(pdf);
|
||||
averageUpdatesByStageLevel.push_back(avg_updates);
|
||||
@@ -1301,10 +1300,10 @@ WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
*avg_updates =
|
||||
totalUpdatesByStageLevel[s][l] / simSeconds;
|
||||
|
||||
auto avg_hitrate = new Stats::Formula(
|
||||
auto avg_hitrate = new statistics::Formula(
|
||||
this,
|
||||
csprintf("averageHitRate_S%dL%d", s+1, l).c_str(),
|
||||
Stats::units::Ratio::get(), "Average hit rate");
|
||||
statistics::units::Ratio::get(), "Average hit rate");
|
||||
avg_hitrate->flags(pdf);
|
||||
averageHitRateByStageLevel.push_back(avg_hitrate);
|
||||
|
||||
@@ -1317,8 +1316,7 @@ WalkCacheStats::WalkCacheStats(Stats::Group *parent)
|
||||
}
|
||||
}
|
||||
|
||||
WalkCache::
|
||||
WalkCacheStats::~WalkCacheStats()
|
||||
WalkCache::WalkCacheStats::~WalkCacheStats()
|
||||
{
|
||||
for (auto avg_lookup : averageLookupsByStageLevel)
|
||||
delete avg_lookup;
|
||||
|
||||
@@ -66,29 +66,30 @@ class SMMUv3BaseCache
|
||||
Random random;
|
||||
uint32_t useStamp;
|
||||
|
||||
struct SMMUv3BaseCacheStats : public Stats::Group
|
||||
struct SMMUv3BaseCacheStats : public statistics::Group
|
||||
{
|
||||
SMMUv3BaseCacheStats(Stats::Group *parent, const std::string &name);
|
||||
SMMUv3BaseCacheStats(statistics::Group *parent,
|
||||
const std::string &name);
|
||||
|
||||
Stats::Formula averageLookups;
|
||||
Stats::Scalar totalLookups;
|
||||
statistics::Formula averageLookups;
|
||||
statistics::Scalar totalLookups;
|
||||
|
||||
Stats::Formula averageMisses;
|
||||
Stats::Scalar totalMisses;
|
||||
statistics::Formula averageMisses;
|
||||
statistics::Scalar totalMisses;
|
||||
|
||||
Stats::Formula averageUpdates;
|
||||
Stats::Scalar totalUpdates;
|
||||
statistics::Formula averageUpdates;
|
||||
statistics::Scalar totalUpdates;
|
||||
|
||||
Stats::Formula averageHitRate;
|
||||
statistics::Formula averageHitRate;
|
||||
|
||||
Stats::Scalar insertions;
|
||||
statistics::Scalar insertions;
|
||||
} baseCacheStats;
|
||||
|
||||
static int decodePolicyName(const std::string &policy_name);
|
||||
|
||||
public:
|
||||
SMMUv3BaseCache(const std::string &policy_name, uint32_t seed,
|
||||
Stats::Group *parent, const std::string &name);
|
||||
statistics::Group *parent, const std::string &name);
|
||||
virtual ~SMMUv3BaseCache() {}
|
||||
};
|
||||
|
||||
@@ -124,7 +125,7 @@ class SMMUTLB : public SMMUv3BaseCache
|
||||
};
|
||||
|
||||
SMMUTLB(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent,
|
||||
const std::string &policy, statistics::Group *parent,
|
||||
const std::string &name);
|
||||
SMMUTLB(const SMMUTLB& tlb) = delete;
|
||||
virtual ~SMMUTLB() {}
|
||||
@@ -174,7 +175,7 @@ class ARMArchTLB : public SMMUv3BaseCache
|
||||
};
|
||||
|
||||
ARMArchTLB(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent);
|
||||
const std::string &policy, statistics::Group *parent);
|
||||
virtual ~ARMArchTLB() {}
|
||||
|
||||
const Entry *lookup(Addr va, uint16_t asid, uint16_t vmid,
|
||||
@@ -217,7 +218,7 @@ class IPACache : public SMMUv3BaseCache
|
||||
};
|
||||
|
||||
IPACache(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent);
|
||||
const std::string &policy, statistics::Group *parent);
|
||||
virtual ~IPACache() {}
|
||||
|
||||
const Entry *lookup(Addr ipa, uint16_t vmid, bool updStats=true);
|
||||
@@ -265,7 +266,7 @@ class ConfigCache : public SMMUv3BaseCache
|
||||
};
|
||||
|
||||
ConfigCache(unsigned numEntries, unsigned _associativity,
|
||||
const std::string &policy, Stats::Group *parent);
|
||||
const std::string &policy, statistics::Group *parent);
|
||||
virtual ~ConfigCache() {}
|
||||
|
||||
const Entry *lookup(uint32_t sid, uint32_t ssid, bool updStats=true);
|
||||
@@ -309,7 +310,7 @@ class WalkCache : public SMMUv3BaseCache
|
||||
|
||||
WalkCache(const std::array<unsigned, 2*WALK_CACHE_LEVELS> &_sizes,
|
||||
unsigned _associativity, const std::string &policy,
|
||||
Stats::Group *parent);
|
||||
statistics::Group *parent);
|
||||
virtual ~WalkCache() {}
|
||||
|
||||
const Entry *lookup(Addr va, Addr vaMask, uint16_t asid, uint16_t vmid,
|
||||
@@ -324,23 +325,23 @@ class WalkCache : public SMMUv3BaseCache
|
||||
void invalidateAll();
|
||||
|
||||
protected:
|
||||
struct WalkCacheStats : public Stats::Group
|
||||
struct WalkCacheStats : public statistics::Group
|
||||
{
|
||||
WalkCacheStats(Stats::Group *parent);
|
||||
WalkCacheStats(statistics::Group *parent);
|
||||
~WalkCacheStats();
|
||||
|
||||
std::vector<Stats::Formula*> averageLookupsByStageLevel;
|
||||
Stats::Vector2d totalLookupsByStageLevel;
|
||||
std::vector<statistics::Formula*> averageLookupsByStageLevel;
|
||||
statistics::Vector2d totalLookupsByStageLevel;
|
||||
|
||||
std::vector<Stats::Formula*> averageMissesByStageLevel;
|
||||
Stats::Vector2d totalMissesByStageLevel;
|
||||
std::vector<statistics::Formula*> averageMissesByStageLevel;
|
||||
statistics::Vector2d totalMissesByStageLevel;
|
||||
|
||||
std::vector<Stats::Formula*> averageUpdatesByStageLevel;
|
||||
Stats::Vector2d totalUpdatesByStageLevel;
|
||||
std::vector<statistics::Formula*> averageUpdatesByStageLevel;
|
||||
statistics::Vector2d totalUpdatesByStageLevel;
|
||||
|
||||
std::vector<Stats::Formula*> averageHitRateByStageLevel;
|
||||
std::vector<statistics::Formula*> averageHitRateByStageLevel;
|
||||
|
||||
Stats::Vector2d insertionsByStageLevel;
|
||||
statistics::Vector2d insertionsByStageLevel;
|
||||
} walkCacheStats;
|
||||
private:
|
||||
typedef std::vector<Entry> Set;
|
||||
|
||||
@@ -755,59 +755,59 @@ UFSHostDevice::UFSHostDevice(const UFSHostDeviceParams &p) :
|
||||
|
||||
UFSHostDevice::
|
||||
UFSHostDeviceStats::UFSHostDeviceStats(UFSHostDevice *parent)
|
||||
: Stats::Group(parent, "UFSDiskHost"),
|
||||
ADD_STAT(currentSCSIQueue, Stats::units::Count::get(),
|
||||
: statistics::Group(parent, "UFSDiskHost"),
|
||||
ADD_STAT(currentSCSIQueue, statistics::units::Count::get(),
|
||||
"Most up to date length of the command queue"),
|
||||
ADD_STAT(currentReadSSDQueue, Stats::units::Count::get(),
|
||||
ADD_STAT(currentReadSSDQueue, statistics::units::Count::get(),
|
||||
"Most up to date length of the read SSD queue"),
|
||||
ADD_STAT(currentWriteSSDQueue, Stats::units::Count::get(),
|
||||
ADD_STAT(currentWriteSSDQueue, statistics::units::Count::get(),
|
||||
"Most up to date length of the write SSD queue"),
|
||||
/** Amount of data read/written */
|
||||
ADD_STAT(totalReadSSD, Stats::units::Byte::get(),
|
||||
ADD_STAT(totalReadSSD, statistics::units::Byte::get(),
|
||||
"Number of bytes read from SSD"),
|
||||
ADD_STAT(totalWrittenSSD, Stats::units::Byte::get(),
|
||||
ADD_STAT(totalWrittenSSD, statistics::units::Byte::get(),
|
||||
"Number of bytes written to SSD"),
|
||||
ADD_STAT(totalReadDiskTransactions, Stats::units::Count::get(),
|
||||
ADD_STAT(totalReadDiskTransactions, statistics::units::Count::get(),
|
||||
"Number of transactions from disk"),
|
||||
ADD_STAT(totalWriteDiskTransactions, Stats::units::Count::get(),
|
||||
ADD_STAT(totalWriteDiskTransactions, statistics::units::Count::get(),
|
||||
"Number of transactions to disk"),
|
||||
ADD_STAT(totalReadUFSTransactions, Stats::units::Count::get(),
|
||||
ADD_STAT(totalReadUFSTransactions, statistics::units::Count::get(),
|
||||
"Number of transactions from device"),
|
||||
ADD_STAT(totalWriteUFSTransactions, Stats::units::Count::get(),
|
||||
ADD_STAT(totalWriteUFSTransactions, statistics::units::Count::get(),
|
||||
"Number of transactions to device"),
|
||||
/** Average bandwidth for reads and writes */
|
||||
ADD_STAT(averageReadSSDBW, Stats::units::Rate<
|
||||
Stats::units::Byte, Stats::units::Second>::get(),
|
||||
ADD_STAT(averageReadSSDBW, statistics::units::Rate<
|
||||
statistics::units::Byte, statistics::units::Second>::get(),
|
||||
"Average read bandwidth",
|
||||
totalReadSSD / simSeconds),
|
||||
ADD_STAT(averageWriteSSDBW, Stats::units::Rate<
|
||||
Stats::units::Byte, Stats::units::Second>::get(),
|
||||
ADD_STAT(averageWriteSSDBW, statistics::units::Rate<
|
||||
statistics::units::Byte, statistics::units::Second>::get(),
|
||||
"Average write bandwidth",
|
||||
totalWrittenSSD / simSeconds),
|
||||
ADD_STAT(averageSCSIQueue, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Tick>::get(),
|
||||
ADD_STAT(averageSCSIQueue, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Tick>::get(),
|
||||
"Average command queue length"),
|
||||
ADD_STAT(averageReadSSDQueue, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Tick>::get(),
|
||||
ADD_STAT(averageReadSSDQueue, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Tick>::get(),
|
||||
"Average read queue length"),
|
||||
ADD_STAT(averageWriteSSDQueue, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Tick>::get(),
|
||||
ADD_STAT(averageWriteSSDQueue, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Tick>::get(),
|
||||
"Average write queue length"),
|
||||
/** Number of doorbells rung*/
|
||||
ADD_STAT(curDoorbell, Stats::units::Count::get(),
|
||||
ADD_STAT(curDoorbell, statistics::units::Count::get(),
|
||||
"Most up to date number of doorbells used",
|
||||
parent->activeDoorbells),
|
||||
ADD_STAT(maxDoorbell, Stats::units::Count::get(),
|
||||
ADD_STAT(maxDoorbell, statistics::units::Count::get(),
|
||||
"Maximum number of doorbells utilized"),
|
||||
ADD_STAT(averageDoorbell, Stats::units::Rate<
|
||||
Stats::units::Count, Stats::units::Tick>::get(),
|
||||
ADD_STAT(averageDoorbell, statistics::units::Rate<
|
||||
statistics::units::Count, statistics::units::Tick>::get(),
|
||||
"Average number of Doorbells used"),
|
||||
/** Latency*/
|
||||
ADD_STAT(transactionLatency, Stats::units::Tick::get(),
|
||||
ADD_STAT(transactionLatency, statistics::units::Tick::get(),
|
||||
"Histogram of transaction times"),
|
||||
ADD_STAT(idleTimes, Stats::units::Tick::get(), "Histogram of idle times")
|
||||
ADD_STAT(idleTimes, statistics::units::Tick::get(), "Histogram of idle times")
|
||||
{
|
||||
using namespace Stats;
|
||||
using namespace statistics;
|
||||
|
||||
// Register the stats
|
||||
/** Queue lengths */
|
||||
|
||||
@@ -512,40 +512,40 @@ class UFSHostDevice : public DmaDevice
|
||||
/**
|
||||
* Statistics
|
||||
*/
|
||||
struct UFSHostDeviceStats : public Stats::Group
|
||||
struct UFSHostDeviceStats : public statistics::Group
|
||||
{
|
||||
UFSHostDeviceStats(UFSHostDevice *parent);
|
||||
|
||||
/** Queue lengths */
|
||||
Stats::Scalar currentSCSIQueue;
|
||||
Stats::Scalar currentReadSSDQueue;
|
||||
Stats::Scalar currentWriteSSDQueue;
|
||||
statistics::Scalar currentSCSIQueue;
|
||||
statistics::Scalar currentReadSSDQueue;
|
||||
statistics::Scalar currentWriteSSDQueue;
|
||||
|
||||
/** Amount of data read/written */
|
||||
Stats::Scalar totalReadSSD;
|
||||
Stats::Scalar totalWrittenSSD;
|
||||
Stats::Scalar totalReadDiskTransactions;
|
||||
Stats::Scalar totalWriteDiskTransactions;
|
||||
Stats::Scalar totalReadUFSTransactions;
|
||||
Stats::Scalar totalWriteUFSTransactions;
|
||||
statistics::Scalar totalReadSSD;
|
||||
statistics::Scalar totalWrittenSSD;
|
||||
statistics::Scalar totalReadDiskTransactions;
|
||||
statistics::Scalar totalWriteDiskTransactions;
|
||||
statistics::Scalar totalReadUFSTransactions;
|
||||
statistics::Scalar totalWriteUFSTransactions;
|
||||
|
||||
/** Average bandwidth for reads and writes */
|
||||
Stats::Formula averageReadSSDBW;
|
||||
Stats::Formula averageWriteSSDBW;
|
||||
statistics::Formula averageReadSSDBW;
|
||||
statistics::Formula averageWriteSSDBW;
|
||||
|
||||
/** Average Queue lengths*/
|
||||
Stats::Average averageSCSIQueue;
|
||||
Stats::Average averageReadSSDQueue;
|
||||
Stats::Average averageWriteSSDQueue;
|
||||
statistics::Average averageSCSIQueue;
|
||||
statistics::Average averageReadSSDQueue;
|
||||
statistics::Average averageWriteSSDQueue;
|
||||
|
||||
/** Number of doorbells rung*/
|
||||
Stats::Formula curDoorbell;
|
||||
Stats::Scalar maxDoorbell;
|
||||
Stats::Average averageDoorbell;
|
||||
statistics::Formula curDoorbell;
|
||||
statistics::Scalar maxDoorbell;
|
||||
statistics::Average averageDoorbell;
|
||||
|
||||
/** Histogram of latencies*/
|
||||
Stats::Histogram transactionLatency;
|
||||
Stats::Histogram idleTimes;
|
||||
statistics::Histogram transactionLatency;
|
||||
statistics::Histogram idleTimes;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user