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