xref: /linux/tools/lib/perf/include/perf/schedstat-v17.h (revision c7decec2f2d2ab0366567f9e30c0e1418cece43f)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifdef CPU_FIELD
4 CPU_FIELD(__u32, yld_count, "sched_yield() count",
5 	  "%11u", false, yld_count, v17);
6 CPU_FIELD(__u32, array_exp, "Legacy counter can be ignored",
7 	  "%11u", false, array_exp, v17);
8 CPU_FIELD(__u32, sched_count, "schedule() called",
9 	  "%11u", false, sched_count, v17);
10 CPU_FIELD(__u32, sched_goidle, "schedule() left the processor idle",
11 	  "%11u", true, sched_count, v17);
12 CPU_FIELD(__u32, ttwu_count, "try_to_wake_up() was called",
13 	  "%11u", false, ttwu_count, v17);
14 CPU_FIELD(__u32, ttwu_local, "try_to_wake_up() was called to wake up the local cpu",
15 	  "%11u", true, ttwu_count, v17);
16 CPU_FIELD(__u64, rq_cpu_time, "total runtime by tasks on this processor (in jiffies)",
17 	  "%11llu", false, rq_cpu_time, v17);
18 CPU_FIELD(__u64, run_delay, "total waittime by tasks on this processor (in jiffies)",
19 	  "%11llu", true, rq_cpu_time, v17);
20 CPU_FIELD(__u64, pcount, "total timeslices run on this cpu",
21 	  "%11llu", false, pcount, v17);
22 #endif /* CPU_FIELD */
23 
24 #ifdef DOMAIN_FIELD
25 #ifdef DOMAIN_CATEGORY
26 DOMAIN_CATEGORY(" <Category busy> ");
27 #endif
28 DOMAIN_FIELD(__u32, busy_lb_count,
29 	     "load_balance() count on cpu busy", "%11u", true, v17);
30 DOMAIN_FIELD(__u32, busy_lb_balanced,
31 	     "load_balance() found balanced on cpu busy", "%11u", true, v17);
32 DOMAIN_FIELD(__u32, busy_lb_failed,
33 	     "load_balance() move task failed on cpu busy", "%11u", true, v17);
34 DOMAIN_FIELD(__u32, busy_lb_imbalance_load,
35 	     "imbalance in load on cpu busy", "%11u", false, v17);
36 DOMAIN_FIELD(__u32, busy_lb_imbalance_util,
37 	     "imbalance in utilization on cpu busy", "%11u", false, v17);
38 DOMAIN_FIELD(__u32, busy_lb_imbalance_task,
39 	     "imbalance in number of tasks on cpu busy", "%11u", false, v17);
40 DOMAIN_FIELD(__u32, busy_lb_imbalance_misfit,
41 	     "imbalance in misfit tasks on cpu busy", "%11u", false, v17);
42 DOMAIN_FIELD(__u32, busy_lb_gained,
43 	     "pull_task() count on cpu busy", "%11u", false, v17);
44 DOMAIN_FIELD(__u32, busy_lb_hot_gained,
45 	     "pull_task() when target task was cache-hot on cpu busy", "%11u", false, v17);
46 DOMAIN_FIELD(__u32, busy_lb_nobusyq,
47 	     "load_balance() failed to find busier queue on cpu busy", "%11u", true, v17);
48 DOMAIN_FIELD(__u32, busy_lb_nobusyg,
49 	     "load_balance() failed to find busier group on cpu busy", "%11u", true, v17);
50 #ifdef DERIVED_CNT_FIELD
51 DERIVED_CNT_FIELD(busy_lb_success_count, "load_balance() success count on cpu busy", "%11u",
52 		  busy_lb_count, busy_lb_balanced, busy_lb_failed, v17);
53 #endif
54 #ifdef DERIVED_AVG_FIELD
55 DERIVED_AVG_FIELD(busy_lb_avg_pulled,
56 		  "avg task pulled per successful lb attempt (cpu busy)", "%11.2Lf",
57 		  busy_lb_count, busy_lb_balanced, busy_lb_failed, busy_lb_gained, v17);
58 #endif
59 #ifdef DOMAIN_CATEGORY
60 DOMAIN_CATEGORY(" <Category idle> ");
61 #endif
62 DOMAIN_FIELD(__u32, idle_lb_count,
63 	     "load_balance() count on cpu idle", "%11u", true, v17);
64 DOMAIN_FIELD(__u32, idle_lb_balanced,
65 	     "load_balance() found balanced on cpu idle", "%11u", true, v17);
66 DOMAIN_FIELD(__u32, idle_lb_failed,
67 	     "load_balance() move task failed on cpu idle", "%11u", true, v17);
68 DOMAIN_FIELD(__u32, idle_lb_imbalance_load,
69 	     "imbalance in load on cpu idle", "%11u", false, v17);
70 DOMAIN_FIELD(__u32, idle_lb_imbalance_util,
71 	     "imbalance in utilization on cpu idle", "%11u", false, v17);
72 DOMAIN_FIELD(__u32, idle_lb_imbalance_task,
73 	     "imbalance in number of tasks on cpu idle", "%11u", false, v17);
74 DOMAIN_FIELD(__u32, idle_lb_imbalance_misfit,
75 	     "imbalance in misfit tasks on cpu idle", "%11u", false, v17);
76 DOMAIN_FIELD(__u32, idle_lb_gained,
77 	     "pull_task() count on cpu idle", "%11u", false, v17);
78 DOMAIN_FIELD(__u32, idle_lb_hot_gained,
79 	     "pull_task() when target task was cache-hot on cpu idle", "%11u", false, v17);
80 DOMAIN_FIELD(__u32, idle_lb_nobusyq,
81 	     "load_balance() failed to find busier queue on cpu idle", "%11u", true, v17);
82 DOMAIN_FIELD(__u32, idle_lb_nobusyg,
83 	     "load_balance() failed to find busier group on cpu idle", "%11u", true, v17);
84 #ifdef DERIVED_CNT_FIELD
85 DERIVED_CNT_FIELD(idle_lb_success_count, "load_balance() success count on cpu idle", "%11u",
86 		  idle_lb_count, idle_lb_balanced, idle_lb_failed, v17);
87 #endif
88 #ifdef DERIVED_AVG_FIELD
89 DERIVED_AVG_FIELD(idle_lb_avg_pulled,
90 		  "avg task pulled per successful lb attempt (cpu idle)", "%11.2Lf",
91 		  idle_lb_count, idle_lb_balanced, idle_lb_failed, idle_lb_gained, v17);
92 #endif
93 #ifdef DOMAIN_CATEGORY
94 DOMAIN_CATEGORY(" <Category newidle> ");
95 #endif
96 DOMAIN_FIELD(__u32, newidle_lb_count,
97 	     "load_balance() count on cpu newly idle", "%11u", true, v17);
98 DOMAIN_FIELD(__u32, newidle_lb_balanced,
99 	     "load_balance() found balanced on cpu newly idle", "%11u", true, v17);
100 DOMAIN_FIELD(__u32, newidle_lb_failed,
101 	     "load_balance() move task failed on cpu newly idle", "%11u", true, v17);
102 DOMAIN_FIELD(__u32, newidle_lb_imbalance_load,
103 	     "imbalance in load on cpu newly idle", "%11u", false, v17);
104 DOMAIN_FIELD(__u32, newidle_lb_imbalance_util,
105 	     "imbalance in utilization on cpu newly idle", "%11u", false, v17);
106 DOMAIN_FIELD(__u32, newidle_lb_imbalance_task,
107 	     "imbalance in number of tasks on cpu newly idle", "%11u", false, v17);
108 DOMAIN_FIELD(__u32, newidle_lb_imbalance_misfit,
109 	     "imbalance in misfit tasks on cpu newly idle", "%11u", false, v17);
110 DOMAIN_FIELD(__u32, newidle_lb_gained,
111 	     "pull_task() count on cpu newly idle", "%11u", false, v17);
112 DOMAIN_FIELD(__u32, newidle_lb_hot_gained,
113 	     "pull_task() when target task was cache-hot on cpu newly idle", "%11u", false, v17);
114 DOMAIN_FIELD(__u32, newidle_lb_nobusyq,
115 	     "load_balance() failed to find busier queue on cpu newly idle", "%11u", true, v17);
116 DOMAIN_FIELD(__u32, newidle_lb_nobusyg,
117 	     "load_balance() failed to find busier group on cpu newly idle", "%11u", true, v17);
118 #ifdef DERIVED_CNT_FIELD
119 DERIVED_CNT_FIELD(newidle_lb_success_count,
120 		  "load_balance() success count on cpu newly idle", "%11u",
121 		  newidle_lb_count, newidle_lb_balanced, newidle_lb_failed, v17);
122 #endif
123 #ifdef DERIVED_AVG_FIELD
124 DERIVED_AVG_FIELD(newidle_lb_avg_pulled,
125 		  "avg task pulled per successful lb attempt (cpu newly idle)", "%11.2Lf",
126 		  newidle_lb_count, newidle_lb_balanced, newidle_lb_failed, newidle_lb_gained, v17);
127 #endif
128 #ifdef DOMAIN_CATEGORY
129 DOMAIN_CATEGORY(" <Category active_load_balance()> ");
130 #endif
131 DOMAIN_FIELD(__u32, alb_count,
132 	     "active_load_balance() count", "%11u", false, v17);
133 DOMAIN_FIELD(__u32, alb_failed,
134 	     "active_load_balance() move task failed", "%11u", false, v17);
135 DOMAIN_FIELD(__u32, alb_pushed,
136 	     "active_load_balance() successfully moved a task", "%11u", false, v17);
137 #ifdef DOMAIN_CATEGORY
138 DOMAIN_CATEGORY(" <Category sched_balance_exec()> ");
139 #endif
140 DOMAIN_FIELD(__u32, sbe_count,
141 	     "sbe_count is not used", "%11u", false, v17);
142 DOMAIN_FIELD(__u32, sbe_balanced,
143 	     "sbe_balanced is not used", "%11u", false, v17);
144 DOMAIN_FIELD(__u32, sbe_pushed,
145 	     "sbe_pushed is not used", "%11u", false, v17);
146 #ifdef DOMAIN_CATEGORY
147 DOMAIN_CATEGORY(" <Category sched_balance_fork()> ");
148 #endif
149 DOMAIN_FIELD(__u32, sbf_count,
150 	     "sbf_count is not used", "%11u", false, v17);
151 DOMAIN_FIELD(__u32, sbf_balanced,
152 	     "sbf_balanced is not used", "%11u", false, v17);
153 DOMAIN_FIELD(__u32, sbf_pushed,
154 	     "sbf_pushed is not used", "%11u", false, v17);
155 #ifdef DOMAIN_CATEGORY
156 DOMAIN_CATEGORY(" <Wakeup Info> ");
157 #endif
158 DOMAIN_FIELD(__u32, ttwu_wake_remote,
159 	     "try_to_wake_up() awoke a task that last ran on a diff cpu", "%11u", false, v17);
160 DOMAIN_FIELD(__u32, ttwu_move_affine,
161 	     "try_to_wake_up() moved task because cache-cold on own cpu", "%11u", false, v17);
162 DOMAIN_FIELD(__u32, ttwu_move_balance,
163 	     "try_to_wake_up() started passive balancing", "%11u", false, v17);
164 #endif /* DOMAIN_FIELD */
165