From 5195ada17ad259ecc849f0352991cccb78c5bb5a Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Tue, 5 Apr 2022 11:08:11 +0100 Subject: [PATCH 1/2] lisa.datautils: Add SignalDesc for clk_* events FIX Add SignalDesc for clk_set_rate, clk_enable, clk_disable so that requesting the dataframe for one of these will always provide the occurence before the beginning of the trace window for each clock name. --- lisa/datautils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisa/datautils.py b/lisa/datautils.py index 84c01a5c8..3197b4535 100644 --- a/lisa/datautils.py +++ b/lisa/datautils.py @@ -2047,6 +2047,10 @@ _SIGNALS = [ SignalDesc('userspace@cpu_frequency_devlib', ['cpu_id']), SignalDesc('sched_compute_energy', ['comm', 'pid']), + SignalDesc('clk_set_rate', ['name']), + SignalDesc('clk_enable', ['name']), + SignalDesc('clk_disable', ['name']), + SignalDesc('sched_pelt_se', ['comm', 'pid']), SignalDesc('sched_load_se', ['comm', 'pid']), SignalDesc('sched_util_est_se', ['comm', 'pid']), -- GitLab From e40ca905b608ea818aabfeaf23e6ca719aadc51f Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Tue, 5 Apr 2022 11:38:33 +0100 Subject: [PATCH 2/2] lisa.analysis.frequency: Add comment on clk_* vs clock_* events Since the kernel defines both clock_* and clk_* events, add a note stating why clk_* is chosen. --- lisa/analysis/frequency.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisa/analysis/frequency.py b/lisa/analysis/frequency.py index 8468d0ea6..27b901865 100644 --- a/lisa/analysis/frequency.py +++ b/lisa/analysis/frequency.py @@ -340,6 +340,10 @@ class FrequencyAnalysis(TraceAnalysisBase): @TraceAnalysisBase.cache @requires_events('clk_set_rate', 'clk_enable', 'clk_disable') def df_peripheral_clock_effective_rate(self, clk_name): + + # Note: the kernel still defines a "clock_*" variant for each of these, + # but it's not actually used anywhere in the code. The new "clk_*" + # events are the ones we are interested about. rate_df = self.trace.df_event('clk_set_rate') enable_df = self.trace.df_event('clk_enable') disable_df = self.trace.df_event('clk_disable') -- GitLab