mirror of https://github.com/OpenIPC/firmware.git
51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
diff -drupN a/kernel/sched/stats.c b/kernel/sched/stats.c
|
|
--- a/kernel/sched/stats.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/kernel/sched/stats.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -12,6 +12,28 @@
|
|
*/
|
|
#define SCHEDSTAT_VERSION 15
|
|
|
|
+#ifdef CONFIG_SMP
|
|
+static inline void show_easstat(struct seq_file *seq, struct eas_stats *stats)
|
|
+{
|
|
+ /* eas-specific runqueue stats */
|
|
+ seq_printf(seq, "eas %llu %llu %llu %llu %llu %llu ",
|
|
+ stats->sis_attempts, stats->sis_idle, stats->sis_cache_affine,
|
|
+ stats->sis_suff_cap, stats->sis_idle_cpu, stats->sis_count);
|
|
+
|
|
+ seq_printf(seq, "%llu %llu %llu %llu %llu %llu %llu ",
|
|
+ stats->secb_attempts, stats->secb_sync, stats->secb_idle_bt,
|
|
+ stats->secb_insuff_cap, stats->secb_no_nrg_sav,
|
|
+ stats->secb_nrg_sav, stats->secb_count);
|
|
+
|
|
+ seq_printf(seq, "%llu %llu %llu %llu %llu ",
|
|
+ stats->fbt_attempts, stats->fbt_no_cpu, stats->fbt_no_sd,
|
|
+ stats->fbt_pref_idle, stats->fbt_count);
|
|
+
|
|
+ seq_printf(seq, "%llu %llu\n",
|
|
+ stats->cas_attempts, stats->cas_count);
|
|
+}
|
|
+#endif
|
|
+
|
|
static int show_schedstat(struct seq_file *seq, void *v)
|
|
{
|
|
int cpu;
|
|
@@ -40,6 +62,8 @@ static int show_schedstat(struct seq_fil
|
|
seq_printf(seq, "\n");
|
|
|
|
#ifdef CONFIG_SMP
|
|
+ show_easstat(seq, &rq->eas_stats);
|
|
+
|
|
/* domain-specific stats */
|
|
rcu_read_lock();
|
|
for_each_domain(cpu, sd) {
|
|
@@ -66,6 +90,8 @@ static int show_schedstat(struct seq_fil
|
|
sd->sbf_count, sd->sbf_balanced, sd->sbf_pushed,
|
|
sd->ttwu_wake_remote, sd->ttwu_move_affine,
|
|
sd->ttwu_move_balance);
|
|
+
|
|
+ show_easstat(seq, &sd->eas_stats);
|
|
}
|
|
rcu_read_unlock();
|
|
#endif
|