lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ