From e118f51827be7c36b5fa35e1d7142403a75eac34 Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Mon, 18 Jan 2016 00:50:32 +0000 Subject: [PATCH 1/3] libs/utils/energy.py: Streamline self.readings calc in HWMon::sample() Tested with JUNO target. Signed-off-by: Dietmar Eggemann --- libs/utils/energy.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libs/utils/energy.py b/libs/utils/energy.py index 96d1c2fee..935718518 100644 --- a/libs/utils/energy.py +++ b/libs/utils/energy.py @@ -125,13 +125,9 @@ class HWMon(EnergyMeter): } continue - last = self.readings[label]['last'] - delta = value - last - total = self.readings[label]['total'] - + self.readings[label]['delta'] = value - self.readings[label]['last'] self.readings[label]['last'] = value - self.readings[label]['delta'] = delta - self.readings[label]['total'] = total + delta + self.readings[label]['total'] += self.readings[label]['delta'] logging.debug('SAMPLE: %s', self.readings) return self.readings -- GitLab From b0f69c06666c26e06acf65d99d9043dc4f93e3c2 Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Thu, 21 Jan 2016 10:41:18 +0000 Subject: [PATCH 2/3] libs/utils/energy.py: Remove unnecessary replace in HWMon::sample() Tested on JUNO target. Signed-off-by: Dietmar Eggemann --- libs/utils/energy.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libs/utils/energy.py b/libs/utils/energy.py index 935718518..8dc9c1602 100644 --- a/libs/utils/energy.py +++ b/libs/utils/energy.py @@ -112,9 +112,7 @@ class HWMon(EnergyMeter): return samples = self._hwmon.take_measurement() for s in samples: - label = s.channel.label\ - .replace('_energy', '')\ - .replace(" ", "_") + label = s.channel.label.replace('_energy', '') value = s.value if label not in self.readings: -- GitLab From 17a568f591b62660f3af9bef7b9fdbb6dcd2da0a Mon Sep 17 00:00:00 2001 From: Dietmar Eggemann Date: Thu, 21 Jan 2016 10:45:22 +0000 Subject: [PATCH 3/3] tests/eas/rfc.py: Fix path of ondemand/sampling_rate file In case a target has only one frequency domain, the ondemand/sampling_rate file is located under /sys/devices/system/cpu/cpufreq/ondemand and not under the individual cpu directory. Fix this by checking if the ondemand/sampling_rate file exists in the individual cpu directory after the ondemand governor has been set. If this is not the case write sampling rate to the system global one. Tested on JUNO and Hikey target. Signed-off-by: Dietmar Eggemann --- tests/eas/rfc.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/eas/rfc.py b/tests/eas/rfc.py index 364468893..ef36fe3e9 100644 --- a/tests/eas/rfc.py +++ b/tests/eas/rfc.py @@ -242,9 +242,13 @@ class TestBase(unittest.TestCase): cls.env.target.execute( 'for CPU in /sys/devices/system/cpu/cpu[0-9]*; do '\ ' echo {} > $CPU/cpufreq/scaling_governor; '\ - ' echo {} > $CPU/cpufreq/ondemand/sampling_rate; '\ + ' if [ -e $CPU/cpufreq/ondemand/sampling_rate ]; then'\ + ' echo {} > $CPU/cpufreq/ondemand/sampling_rate;'\ + ' else'\ + ' echo {} > $CPU/../cpufreq/ondemand/sampling_rate;'\ + ' fi;'\ 'done'\ - .format('ondemand', sampling_rate)) + .format('ondemand', sampling_rate, sampling_rate)) else: cls.env.target.execute( 'for CPU in /sys/devices/system/cpu/cpu[0-9]*; do '\ -- GitLab