From 11cd80361d240129f29cf49a6b77bb493ed20906 Mon Sep 17 00:00:00 2001 From: Brendan Jackman Date: Wed, 10 May 2017 12:27:38 +0100 Subject: [PATCH] tests/eas/load_tracking: Add support for WIP sched_load_se event This event may change in format in the near future so for now let's allow ourselves to keep adding to the block marked with a TODO. Once the event is in mainline we can attempt to move this functionality into the Trace class, analysis modules, or Trappy. --- tests/eas/load_tracking.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/eas/load_tracking.py b/tests/eas/load_tracking.py index f247bee8f..5985f3a38 100644 --- a/tests/eas/load_tracking.py +++ b/tests/eas/load_tracking.py @@ -38,6 +38,7 @@ class _LoadTrackingBase(LisaTest): 'sched_load_avg_task', 'sched_load_avg_cpu', 'sched_pelt_se', + 'sched_load_se' ], }, # cgroups required by freeze_userspace flag @@ -115,8 +116,14 @@ class _LoadTrackingBase(LisaTest): # should be unified but for now we'll just check for both types of # event. # TODO: Add support for this parsing in Trappy and/or tasks_analysis + signal_fields = signals if 'sched_load_avg_task' in trace.available_events: event = 'sched_load_avg_task' + elif 'sched_load_se' in trace.available_events: + event = 'sched_load_se' + # sched_load_se uses 'util' and 'load' instead of 'util_avg' and + # 'load_avg' + signal_fields = [s.replace('_avg', '') for s in signals] elif 'sched_pelt_se' in trace.available_events: event = 'sched_pelt_se' else: @@ -124,8 +131,9 @@ class _LoadTrackingBase(LisaTest): 'Does the kernel support them?') df = getattr(trace.ftrace, event).data_frame - signals = df[df['comm'] == task][signals] - return select_window(signals, self.get_window(experiment)) + df = df[df['comm'] == task][signal_fields] + df = select_window(df, self.get_window(experiment)) + return df.rename(columns=dict(zip(signal_fields, signals))) def get_signal_mean(self, experiment, signal, ignore_first_s=UTIL_AVG_CONVERGENCE_TIME): -- GitLab