Hoa Nguyen has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/36515 )
Change subject: sim,stats: Update stats style for power_model and
thermal_domain
......................................................................
sim,stats: Update stats style for power_model and thermal_domain
Change-Id: Ie50553c301ff5790b51057dc117568374f0cbe36
Signed-off-by: Hoa Nguyen <hoangu...@ucdavis.edu>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/36515
Tested-by: kokoro <noreply+kok...@google.com>
Reviewed-by: Daniel Carvalho <oda...@yahoo.com.br>
Reviewed-by: Andreas Sandberg <andreas.sandb...@arm.com>
Maintainer: Andreas Sandberg <andreas.sandb...@arm.com>
---
M src/sim/power/power_model.cc
M src/sim/power/power_model.hh
M src/sim/power/thermal_domain.cc
M src/sim/power/thermal_domain.hh
4 files changed, 23 insertions(+), 51 deletions(-)
Approvals:
Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
Daniel Carvalho: Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/sim/power/power_model.cc b/src/sim/power/power_model.cc
index fa531e0..fbc67d3 100644
--- a/src/sim/power/power_model.cc
+++ b/src/sim/power/power_model.cc
@@ -44,13 +44,21 @@
#include "sim/sub_system.hh"
PowerModelState::PowerModelState(const Params &p)
- : SimObject(p), _temp(0), clocked_object(NULL)
+ : SimObject(p), _temp(0), clocked_object(NULL),
+ ADD_STAT(dynamicPower, "Dynamic power for this object (Watts)"),
+ ADD_STAT(staticPower, "Static power for this object (Watts)")
{
+ dynamicPower
+ .method(this, &PowerModelState::getDynamicPower);
+ staticPower
+ .method(this, &PowerModelState::getStaticPower);
}
PowerModel::PowerModel(const Params &p)
: SimObject(p), states_pm(p.pm), subsystem(p.subsystem),
- clocked_object(NULL), power_model_type(p.pm_type)
+ clocked_object(NULL), power_model_type(p.pm_type),
+ ADD_STAT(dynamicPower, "Dynamic power for this power state"),
+ ADD_STAT(staticPower, "Static power for this power state")
{
panic_if(subsystem == NULL,
"Subsystem is NULL! This is not acceptable for a
PowerModel!\n");
@@ -61,6 +69,11 @@
pms->setTemperature(p.ambient_temp);
}
+ dynamicPower
+ .method(this, &PowerModel::getDynamicPower);
+ staticPower
+ .method(this, &PowerModel::getStaticPower);
+
}
void
diff --git a/src/sim/power/power_model.hh b/src/sim/power/power_model.hh
index c8625ac..e6f5431 100644
--- a/src/sim/power/power_model.hh
+++ b/src/sim/power/power_model.hh
@@ -83,30 +83,15 @@
clocked_object = clkobj;
}
- void regStats() {
- SimObject::regStats();
-
- dynamicPower
- .method(this, &PowerModelState::getDynamicPower)
- .name(params().name + ".dynamic_power")
- .desc("Dynamic power for this object (Watts)")
- ;
-
- staticPower
- .method(this, &PowerModelState::getStaticPower)
- .name(params().name + ".static_power")
- .desc("Static power for this object (Watts)")
- ;
- }
-
protected:
- Stats::Value dynamicPower, staticPower;
/** Current temperature */
double _temp;
/** The clocked object we belong to */
ClockedObject * clocked_object;
+
+ Stats::Value dynamicPower, staticPower;
};
/**
@@ -136,22 +121,6 @@
*/
double getStaticPower() const;
- void regStats() {
- SimObject::regStats();
-
- dynamicPower
- .method(this, &PowerModel::getDynamicPower)
- .name(params().name + ".dynamic_power")
- .desc("Dynamic power for this power state")
- ;
-
- staticPower
- .method(this, &PowerModel::getStaticPower)
- .name(params().name + ".static_power")
- .desc("Static power for this power state")
- ;
- }
-
void setClockedObject(ClockedObject *clkobj);
virtual void regProbePoints();
@@ -176,8 +145,6 @@
PowerModel ±
};
- Stats::Value dynamicPower, staticPower;
-
/** Actual power models (one per power state) */
std::vector<PowerModelState*> states_pm;
@@ -192,6 +159,8 @@
/** The type of power model - collects all power, static or dynamic
only */
Enums::PMType power_model_type;
+
+ Stats::Value dynamicPower, staticPower;
};
#endif
diff --git a/src/sim/power/thermal_domain.cc
b/src/sim/power/thermal_domain.cc
index 0b5bedd..dabf2fe 100644
--- a/src/sim/power/thermal_domain.cc
+++ b/src/sim/power/thermal_domain.cc
@@ -50,8 +50,11 @@
ThermalDomain::ThermalDomain(const Params &p)
: SimObject(p), _initTemperature(p.initial_temperature),
- node(NULL), subsystem(NULL)
+ node(NULL), subsystem(NULL),
+ ADD_STAT(currentTemp, "Temperature in centigrade degrees")
{
+ currentTemp
+ .method(this, &ThermalDomain::currentTemperature);
}
double
@@ -71,18 +74,6 @@
}
void
-ThermalDomain::regStats()
-{
- SimObject::regStats();
-
- currentTemp
- .method(this, &ThermalDomain::currentTemperature)
- .name(params().name + ".temp")
- .desc("Temperature in centigrate degrees")
- ;
-}
-
-void
ThermalDomain::emitUpdate()
{
ppThermalUpdate->notify(node->temp);
diff --git a/src/sim/power/thermal_domain.hh
b/src/sim/power/thermal_domain.hh
index 323ba2b..421f340 100644
--- a/src/sim/power/thermal_domain.hh
+++ b/src/sim/power/thermal_domain.hh
@@ -93,7 +93,6 @@
*/
void setSubSystem(SubSystem * ss);
- void regStats() override;
void serialize(CheckpointOut &cp) const override;
void unserialize(CheckpointIn &cp) override;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36515
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie50553c301ff5790b51057dc117568374f0cbe36
Gerrit-Change-Number: 36515
Gerrit-PatchSet: 24
Gerrit-Owner: Hoa Nguyen <hoangu...@ucdavis.edu>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-Reviewer: Hoa Nguyen <hoangu...@ucdavis.edu>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s