From d36f1e2a7523c1d1adfae5bd8a6073dd9c2a8919 Mon Sep 17 00:00:00 2001 From: Brendan Jackman Date: Wed, 29 Mar 2017 15:19:48 +0100 Subject: [PATCH 1/2] generic: Enable collection of more trace events These aren't required for the test but can be useful when analysing failures. squash! generic: Enable collecting cpu_frequency --- tests/eas/generic.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/eas/generic.py b/tests/eas/generic.py index 19443e9d0..07ab1e17c 100644 --- a/tests/eas/generic.py +++ b/tests/eas/generic.py @@ -57,7 +57,10 @@ class _EnergyModelTest(LisaTest): "sched_load_avg_task", "sched_load_avg_cpu", "sched_migrate_task", - "sched_switch" + "sched_switch", + "cpu_frequency", + "cpu_idle", + "cpu_capacity", ], }, "modules": ["cgroups"], -- GitLab From 14851f7879c9b0b8c9b0b34c8a24407d5d32cd2f Mon Sep 17 00:00:00 2001 From: Brendan Jackman Date: Wed, 29 Mar 2017 15:58:23 +0100 Subject: [PATCH 2/2] tests/eas/generic: Pick schedutil/sched governor automatically EAS requires a scheduler-driven governor to function. --- tests/eas/generic.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tests/eas/generic.py b/tests/eas/generic.py index 07ab1e17c..e3422225f 100644 --- a/tests/eas/generic.py +++ b/tests/eas/generic.py @@ -29,11 +29,6 @@ from trace import Trace from . import _EasTest, energy_aware_conf, WORKLOAD_PERIOD_MS from unittest import SkipTest -energy_aware_conf = { - "tag" : "energy_aware", - "flags" : ["ftrace", "freeze_userspace"], - "sched_features" : "ENERGY_AWARE", -} WORKLOAD_PERIOD_MS = 10 SET_IS_BIG_LITTLE = True @@ -64,9 +59,6 @@ class _EnergyModelTest(LisaTest): ], }, "modules": ["cgroups"], - "cpufreq" : { - "governor" : "sched", - }, } negative_slack_allowed_pct = 15 @@ -93,9 +85,22 @@ class _EnergyModelTest(LisaTest): 'Either provide one manually or ensure it can be read ' 'from the filesystem: {}'.format(e)) + conf = { + 'tag' : 'energy_aware', + 'flags' : ['ftrace', 'freeze_userspace'], + 'sched_features' : 'ENERGY_AWARE', + } + + if 'cpufreq' in test_env.target.modules: + available_govs = test_env.target.cpufreq.list_governors(0) + if 'schedutil' in available_govs: + conf['cpufreq'] = {'governor' : 'schedutil'} + elif 'sched' in available_govs: + conf['cpufreq'] = {'governor' : 'sched'} + return { 'wloads' : cls.workloads, - 'confs' : [energy_aware_conf] + 'confs' : [conf], } @classmethod -- GitLab