[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250316102916.10614-7-kprateek.nayak@amd.com>
Date: Sun, 16 Mar 2025 10:29:16 +0000
From: K Prateek Nayak <kprateek.nayak@....com>
To: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot
<vincent.guittot@...aro.org>, Chen Yu <yu.c.chen@...el.com>,
<linux-kernel@...r.kernel.org>
CC: Dietmar Eggemann <dietmar.eggemann@....com>, Steven Rostedt
<rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>, Mel Gorman
<mgorman@...e.de>, Valentin Schneider <vschneid@...hat.com>, David Vernet
<void@...ifault.com>, "Gautham R. Shenoy" <gautham.shenoy@....com>, "Swapnil
Sapkal" <swapnil.sapkal@....com>, Shrikanth Hegde <sshegde@...ux.ibm.com>, "K
Prateek Nayak" <kprateek.nayak@....com>
Subject: [RFC PATCH 15/08] [DEBUG] tools/lib/perf: Extend schedstats v17 headers to include the new debug fields
The previous commit hacked up schedstats v17 to add more fields.
Extend the header file for perf sched stats for analysis. These changes
depend on perf sched stats tools being developed in [1].
Link: https://lore.kernel.org/lkml/20250311120230.61774-1-swapnil.sapkal@amd.com/ [1]
Signed-off-by: K Prateek Nayak <kprateek.nayak@....com>
---
tools/lib/perf/include/perf/schedstat-v17.h | 30 +++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/tools/lib/perf/include/perf/schedstat-v17.h b/tools/lib/perf/include/perf/schedstat-v17.h
index 00009bd5f006..888dfa982a55 100644
--- a/tools/lib/perf/include/perf/schedstat-v17.h
+++ b/tools/lib/perf/include/perf/schedstat-v17.h
@@ -47,6 +47,16 @@ DOMAIN_FIELD(__u32, busy_lb_nobusyq,
"load_balance() failed to find busier queue on cpu busy", "%11u", true, v17);
DOMAIN_FIELD(__u32, busy_lb_nobusyg,
"load_balance() failed to find busier group on cpu busy", "%11u", true, v17);
+DOMAIN_FIELD(__u32, busy_lb_min_time,
+ "load_balance() min time to balance on busy", "%11u", true, v17);
+DOMAIN_FIELD(__u32, busy_lb_max_time,
+ "load_balance() max time to balance on busy", "%11u", true, v17);
+DOMAIN_FIELD(unsigned long, busy_lb_total_time,
+ "load_balance() total time to balance on busy", "%11lu", true, v17);
+DOMAIN_FIELD(__u32, busy_lb_stats_reused,
+ "load_balance() stats reused on busy", "%11u", true, v17);
+DOMAIN_FIELD(__u32, busy_lb_stats_recompute,
+ "load_balance() stats recomputed on busy", "%11u", true, v17);
#ifdef DERIVED_CNT_FIELD
DERIVED_CNT_FIELD("load_balance() success count on cpu busy", "%11u",
busy_lb_count, busy_lb_balanced, busy_lb_failed, v17);
@@ -80,6 +90,16 @@ DOMAIN_FIELD(__u32, idle_lb_nobusyq,
"load_balance() failed to find busier queue on cpu idle", "%11u", true, v17);
DOMAIN_FIELD(__u32, idle_lb_nobusyg,
"load_balance() failed to find busier group on cpu idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, idle_lb_min_time,
+ "load_balance() min time to balance on idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, idle_lb_max_time,
+ "load_balance() max time to balance on idle", "%11u", true, v17);
+DOMAIN_FIELD(unsigned long, idle_lb_total_time,
+ "load_balance() total time to balance on idle", "%11lu", true, v17);
+DOMAIN_FIELD(__u32, idle_lb_stats_reused,
+ "load_balance() stats reused on idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, idle_lb_stats_recompute,
+ "load_balance() stats recomputed on idle", "%11u", true, v17);
#ifdef DERIVED_CNT_FIELD
DERIVED_CNT_FIELD("load_balance() success count on cpu idle", "%11u",
idle_lb_count, idle_lb_balanced, idle_lb_failed, v17);
@@ -113,6 +133,16 @@ DOMAIN_FIELD(__u32, newidle_lb_nobusyq,
"load_balance() failed to find busier queue on cpu newly idle", "%11u", true, v17);
DOMAIN_FIELD(__u32, newidle_lb_nobusyg,
"load_balance() failed to find busier group on cpu newly idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, newidle_lb_min_time,
+ "load_balance() min time to balance on newly idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, newidle_lb_max_time,
+ "load_balance() max time to balance on newly idle", "%11u", true, v17);
+DOMAIN_FIELD(unsigned long, newidle_lb_total_time,
+ "load_balance() total time to balance on newly idle", "%11lu", true, v17);
+DOMAIN_FIELD(__u32, newidle_lb_stats_reused,
+ "load_balance() stats reused on newly idle", "%11u", true, v17);
+DOMAIN_FIELD(__u32, newidle_lb_stats_recompute,
+ "load_balance() stats recomputed on newly idle", "%11u", true, v17);
#ifdef DERIVED_CNT_FIELD
DERIVED_CNT_FIELD("load_balance() success count on cpu newly idle", "%11u",
newidle_lb_count, newidle_lb_balanced, newidle_lb_failed, v17);
--
2.43.0
Powered by blists - more mailing lists