linux/kernel/sched
Liang Chen 4ee45c385f soc: rockchip: rockchip_performance: optimize tasks schedule policy
When level==0(low-performance mode):
1. prefer prev_cpu for rt tasks if prev cpu is fit.
2. make sure that it saves at least 6% of the energy when
migrate tasks from little cpu to big cpu.

When level==2(high-performance mode):
1. do not use EAS path.
2. select big cpu first when system is not overutilized.
3. do not trigger load_balance() when system is not overutilized.
4. prefer prev_cpu for rt tasks if prev cpu is fit.

Test performance improvement for level==2:

1. CONFIG_ROCKCHIP_PERFORMANCE=n
EMMC Random Write(4KB) 25.44MB/s
Antutu:
Total 581266
CPU   133023
GPU   234106
MEM   103602
UX    110535

2. CONFIG_ROCKCHIP_PERFORMANCE=y and level==2
EMMC Random Write(4KB) 44.19MB/s (73.7% improvement)
Antutu:
Total 600483 (3.3% improvement)
CPU   134481 (1.1% improvement)
GPU   234678
MEM   116551 (12.5% improvement)
UX    114773 (3.8% improvement)

Change-Id: I949ac229864eb12159b886b7769e0b489345bef4
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-05-26 09:57:09 +08:00
..
autogroup.c
autogroup.h
clock.c
completion.c
core.c soc: rockchip: add different performance level support 2022-03-17 15:08:40 +08:00
cpuacct.c sched/cpuacct: Fix charge cpuacct.usage_sys 2020-05-19 20:34:14 +02:00
cpudeadline.c sched/deadline: Implement fallback mechanism for !fit case 2020-06-15 14:10:05 +02:00
cpudeadline.h
cpufreq_schedutil.c ANDROID: sched: Add vendor hooks to compute new cpu freq. 2021-04-23 18:42:38 -07:00
cpufreq.c ANDROID: android: Export symbols for invoking cpufreq_update_util() 2021-06-29 10:44:12 +00:00
cpupri.c ANDROID: sched: Export symbol for vendor RT hook funcion 2021-01-12 12:57:37 -08:00
cpupri.h
cputime.c ANDROID: vendor_hooks: Add hooks for account irqtime process tick 2021-05-13 08:26:15 +00:00
deadline.c This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
debug.c This is the 5.10.44 stable release 2021-06-16 13:14:03 +02:00
fair.c soc: rockchip: rockchip_performance: optimize tasks schedule policy 2022-05-26 09:57:09 +08:00
features.h Revert "Revert "sched,fair: Alternative sched_slice()"" 2021-05-21 13:17:06 -07:00
idle.c Merge 5.10.20 into android12-5.10 2021-03-07 12:33:33 +01:00
isolation.c isolcpus: Affine unbound kernel threads to housekeeping cpus 2020-06-15 14:10:03 +02:00
loadavg.c ANDROID: GKI: loadavg: Export for get_avenrun 2020-08-12 15:08:42 +00:00
Makefile
membarrier.c sched/membarrier: fix missing local execution of ipi_sync_rq_state() 2021-03-17 17:06:35 +01:00
pelt.c ANDROID: sched: add a helper function to change PELT half-life 2021-08-07 00:03:23 +08:00
pelt.h sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling 2021-06-16 12:01:46 +02:00
psi.c Merge branch 'android12-5.10' into android12-5.10-lts 2021-07-15 17:17:09 +02:00
rt.c soc: rockchip: add different performance level support 2022-03-17 15:08:40 +08:00
sched-pelt.h ANDROID: sched: pelt: Fix the PELT arrays 2021-03-04 11:53:51 +00:00
sched.h soc: rockchip: add different performance level support 2022-03-17 15:08:40 +08:00
smp.h sched/headers: Split out open-coded prototypes into kernel/sched/smp.h 2020-05-28 11:03:20 +02:00
stats.c
stats.h
stop_task.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
swait.c
topology.c ANDROID: vendor_hooks: Add hooks for scheduler 2021-03-16 09:08:22 +00:00
wait_bit.c
wait.c This is the 5.10.51 stable release 2021-07-19 17:29:53 +02:00