kernel_samsung_a53x/kernel/sched
Tyler Nijmeh e983caf81d sched: core: Minimize number of tasks to load balance
We don't want sched_nr_migrate to be too high, as that would impact
real-time latencies as the load balancing process for SCHED_OTHER
disallows IRQ interrupts.

Instead of making this a constant value, let's use an amount that
relates to the CPU performance of a device.

Consider that a device with a very weak 4 core processor needs to load
balance 32 tasks from the most busy-but-idle CPU. That balancing would
take significantly longer than a device with 8 cores.

On the contrary view, that same 8 core device balancing 32 tasks would
have no issues with SCHED_OTHER performance, however, real-time tasks
would suffer more jitter than is necessary.

Let's only balance as many tasks as there are CPUs in a device for
optimal SCHED_OTHER performance and SCHED_FIFO / SCHED_RR latency.
2024-12-17 20:32:22 +01:00
..
ems kernel: sched: ems: drop usage of SCHED_FEAT 2024-11-19 17:52:14 +01:00
autogroup.c fs,kernel,mm: tune to Ktweak balance 2024-12-17 20:30:06 +01:00
autogroup.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clock.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
completion.c sched/completion: Expose wait_for_common*() to drivers 2024-11-17 17:45:08 +01:00
core.c sched: core: Minimize number of tasks to load balance 2024-12-17 20:32:22 +01:00
cpuacct.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpudeadline.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpudeadline.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpufreq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpufreq_schedutil.c schedutil: Allow CPU frequency changes to be amended before they're set 2024-11-19 18:06:02 +01:00
cpupri.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpupri.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cputime.c sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime 2024-11-23 23:20:24 +01:00
deadline.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fair.c fs,kernel,mm: tune to Ktweak balance 2024-12-17 20:30:06 +01:00
features.h fs,kernel,mm: tune to Ktweak balance 2024-12-17 20:30:06 +01:00
idle.c sched/fair: Trigger the update of blocked load on newly idle cpu 2024-12-17 13:24:33 +01:00
isolation.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
loadavg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
membarrier.c sched/membarrier: reduce the ability to hammer on sys_membarrier 2024-11-18 12:13:39 +01:00
pelt.c kernel: sched: Provide more PELT half-life options 2024-11-17 17:41:17 +01:00
pelt.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
psi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rt.c sched/rt: Disallow writing invalid values to sched_rt_period_us 2024-11-18 22:25:32 +01:00
sched-pelt.h kernel: sched: Provide more PELT half-life options 2024-11-17 17:41:17 +01:00
sched.h sysctl: promote several nodes out of CONFIG_SCHED_DEBUG 2024-12-17 20:27:04 +01:00
sec_mpam.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sec_mpam_cpbm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sec_mpam_sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sec_mpam_sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stats.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stats.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stop_task.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
swait.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
topology.c sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level 2024-11-19 12:27:00 +01:00
wait.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wait_bit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00