Loading arch/arm64/configs/vendor/kona-perf_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ CONFIG_PCI_MSM=y CONFIG_PCI_MSM_MSI=y CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_HZ_100=y CONFIG_SECCOMP=y CONFIG_OKL4_GUEST=y # CONFIG_UNMAP_KERNEL_AT_EL0 is not set Loading arch/arm64/configs/vendor/kona_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ CONFIG_PCI_MSM=y CONFIG_PCI_MSM_MSI=y CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_HZ_100=y CONFIG_SECCOMP=y CONFIG_OKL4_GUEST=y # CONFIG_UNMAP_KERNEL_AT_EL0 is not set Loading kernel/sched/walt.c +31 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ __read_mostly unsigned int sysctl_sched_window_stats_policy = /* Window size (in ns) */ __read_mostly unsigned int sched_ravg_window = MIN_SCHED_RAVG_WINDOW; __read_mostly unsigned int new_sched_ravg_window = MIN_SCHED_RAVG_WINDOW; /* * A after-boot constant divisor for cpu_util_freq_walt() to apply the load Loading Loading @@ -3220,6 +3221,13 @@ u64 get_rtgb_active_time(void) return 0; } static void walt_init_window_dep(void); static void walt_tunables_fixup(void) { walt_update_group_thresholds(); walt_init_window_dep(); } /* * Runs in hard-irq context. This should ideally run just after the latest * window roll-over. Loading Loading @@ -3325,6 +3333,20 @@ void walt_irq_work(struct irq_work *irq_work) } } /* * If the window change request is in pending, good place to * change sched_ravg_window since all rq locks are acquired. */ if (!is_migration) { if (sched_ravg_window != new_sched_ravg_window) { printk_deferred("ALERT: changing window size from %u to %u\n", sched_ravg_window, new_sched_ravg_window); sched_ravg_window = new_sched_ravg_window; walt_tunables_fixup(); } } for_each_cpu(cpu, cpu_possible_mask) raw_spin_unlock(&cpu_rq(cpu)->lock); Loading Loading @@ -3437,12 +3459,8 @@ int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, return ret; } static void walt_init_once(void) static void walt_init_window_dep(void) { init_irq_work(&walt_migration_irq_work, walt_irq_work); init_irq_work(&walt_cpufreq_irq_work, walt_irq_work); walt_rotate_work_init(); walt_cpu_util_freq_divisor = (sched_ravg_window >> SCHED_CAPACITY_SHIFT) * 100; walt_scale_demand_divisor = sched_ravg_window >> SCHED_CAPACITY_SHIFT; Loading @@ -3454,6 +3472,14 @@ static void walt_init_once(void) scale_demand(sched_init_task_load_windows); } static void walt_init_once(void) { init_irq_work(&walt_migration_irq_work, walt_irq_work); init_irq_work(&walt_cpufreq_irq_work, walt_irq_work); walt_rotate_work_init(); walt_init_window_dep(); } void walt_sched_init_rq(struct rq *rq) { int j; Loading Loading
arch/arm64/configs/vendor/kona-perf_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ CONFIG_PCI_MSM=y CONFIG_PCI_MSM_MSI=y CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_HZ_100=y CONFIG_SECCOMP=y CONFIG_OKL4_GUEST=y # CONFIG_UNMAP_KERNEL_AT_EL0 is not set Loading
arch/arm64/configs/vendor/kona_defconfig +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ CONFIG_PCI_MSM=y CONFIG_PCI_MSM_MSI=y CONFIG_SCHED_MC=y CONFIG_NR_CPUS=8 CONFIG_HZ_100=y CONFIG_SECCOMP=y CONFIG_OKL4_GUEST=y # CONFIG_UNMAP_KERNEL_AT_EL0 is not set Loading
kernel/sched/walt.c +31 −5 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ __read_mostly unsigned int sysctl_sched_window_stats_policy = /* Window size (in ns) */ __read_mostly unsigned int sched_ravg_window = MIN_SCHED_RAVG_WINDOW; __read_mostly unsigned int new_sched_ravg_window = MIN_SCHED_RAVG_WINDOW; /* * A after-boot constant divisor for cpu_util_freq_walt() to apply the load Loading Loading @@ -3220,6 +3221,13 @@ u64 get_rtgb_active_time(void) return 0; } static void walt_init_window_dep(void); static void walt_tunables_fixup(void) { walt_update_group_thresholds(); walt_init_window_dep(); } /* * Runs in hard-irq context. This should ideally run just after the latest * window roll-over. Loading Loading @@ -3325,6 +3333,20 @@ void walt_irq_work(struct irq_work *irq_work) } } /* * If the window change request is in pending, good place to * change sched_ravg_window since all rq locks are acquired. */ if (!is_migration) { if (sched_ravg_window != new_sched_ravg_window) { printk_deferred("ALERT: changing window size from %u to %u\n", sched_ravg_window, new_sched_ravg_window); sched_ravg_window = new_sched_ravg_window; walt_tunables_fixup(); } } for_each_cpu(cpu, cpu_possible_mask) raw_spin_unlock(&cpu_rq(cpu)->lock); Loading Loading @@ -3437,12 +3459,8 @@ int walt_proc_group_thresholds_handler(struct ctl_table *table, int write, return ret; } static void walt_init_once(void) static void walt_init_window_dep(void) { init_irq_work(&walt_migration_irq_work, walt_irq_work); init_irq_work(&walt_cpufreq_irq_work, walt_irq_work); walt_rotate_work_init(); walt_cpu_util_freq_divisor = (sched_ravg_window >> SCHED_CAPACITY_SHIFT) * 100; walt_scale_demand_divisor = sched_ravg_window >> SCHED_CAPACITY_SHIFT; Loading @@ -3454,6 +3472,14 @@ static void walt_init_once(void) scale_demand(sched_init_task_load_windows); } static void walt_init_once(void) { init_irq_work(&walt_migration_irq_work, walt_irq_work); init_irq_work(&walt_cpufreq_irq_work, walt_irq_work); walt_rotate_work_init(); walt_init_window_dep(); } void walt_sched_init_rq(struct rq *rq) { int j; Loading