linux/kernel
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
..
bpf This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
cgroup ANDROID: cpuhp/pause: schedule cpu_hotplug_work on resume cpu 2021-10-26 19:57:45 +00:00
configs
debug
dma UPSTREAM: dma-debug: fix debugfs initialization order 2022-03-28 19:01:23 +08:00
entry
events
gcov
irq This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
kcsan
livepatch
locking ANDROID: locking/rwsem: only clean RWSEM_FLAG_HANDOFF when already set 2021-11-16 18:07:21 +00:00
power This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
printk printk: Introduce CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER 2021-11-12 11:21:16 +08:00
rcu UPSTREAM: rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader() 2021-10-13 13:56:35 -07:00
sched soc: rockchip: rockchip_performance: optimize tasks schedule policy 2022-05-26 09:57:09 +08:00
time This is the 5.10.66 stable release 2021-09-19 10:25:11 +02:00
trace UPSTREAM: tracing/cfi: Fix cmp_entries_* functions signature mismatch 2021-11-04 21:10:25 +00:00
.gitignore
acct.c
async.c
audit_fsnotify.c
audit_tree.c audit: move put_tree() to avoid trim_trees refcount underflow and UAF 2021-09-03 10:09:31 +02:00
audit_watch.c
audit.c
audit.h
auditfilter.c
auditsc.c
backtracetest.c
bounds.c
capability.c
cfi.c ANDROID: cfi: explicitly clear diag in __cfi_slowpath 2021-09-02 08:55:56 +00:00
compat.c
configs.c
context_tracking.c
cpu_pm.c PM: cpu: Make notifier chain use a raw_spinlock_t 2021-09-15 09:50:40 +02:00
cpu.c FROMGIT: sched/scs: Reset task stack state in bringup_cpu() 2021-11-30 10:19:53 +00:00
crash_core.c
crash_dump.c
cred.c Revert "Add a reference to ucounts for each cred" 2021-09-08 08:49:00 +02:00
delayacct.c
dma.c
exec_domain.c
exit.c
extable.c
fail_function.c
fork.c UPSTREAM: ANDROID: Configure out the macros in android_kabi and android_vendor 2022-04-11 08:50:12 +08:00
freezer.c
futex.c
gen_kheaders.sh
groups.c
hung_task.c
iomem.c
irq_work.c
jump_label.c
kallsyms.c
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c
kexec_core.c
kexec_elf.c
kexec_file.c
kexec_internal.h
kexec.c
kheaders.c
kmod.c
kprobes.c
ksysfs.c
kthread.c This is the 5.10.62 stable release 2021-09-03 10:51:56 +02:00
latencytop.c
Makefile
module_signature.c
module_signing.c
module-internal.h
module.c
notifier.c
nsproxy.c
padata.c
panic.c
params.c
pid_namespace.c
pid.c
profile.c
ptrace.c
range.c
reboot.c
regset.c
relay.c
resource.c
rseq.c
scftorture.c
scs.c FROMGIT: scs: Release kasan vmalloc poison in scs_free process 2021-10-04 15:44:53 +00:00
seccomp.c This is the 5.10.60 stable release 2021-08-27 17:14:51 +02:00
signal.c
smp.c
smpboot.c
smpboot.h
softirq.c softirq: retrieve wakeup_softirqd() 2021-09-06 16:18:59 +08:00
stackleak.c
stacktrace.c
static_call.c static_call: Fix unused variable warn w/o MODULE 2021-09-08 08:49:00 +02:00
stop_machine.c
sys_ni.c
sys.c Revert "Add a reference to ucounts for each cred" 2021-09-08 08:49:00 +02:00
sysctl-test.c
sysctl.c
task_work.c
taskstats.c
test_kprobes.c
torture.c
tracepoint.c This is the 5.10.62 stable release 2021-09-03 10:51:56 +02:00
tsacct.c
ucount.c Revert "Add a reference to ucounts for each cred" 2021-09-08 08:49:00 +02:00
uid16.c
uid16.h
umh.c
up.c
user_namespace.c Revert "Add a reference to ucounts for each cred" 2021-09-08 08:49:00 +02:00
user-return-notifier.c
user.c
usermode_driver.c
utsname_sysctl.c
utsname.c
watch_queue.c
watchdog_hld.c
watchdog.c hardlockup: detect hard lockups without NMIs using secondary cpus 2022-05-12 15:11:15 +08:00
workqueue_internal.h
workqueue.c ANDROID: workqueue: export symbol of the function wq_worker_comm() 2021-12-06 17:11:59 +00:00