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 kgdb: fix to kill breakpoints on initmem after boot 2021-03-04 11:38:46 +01:00
dma UPSTREAM: dma-debug: fix debugfs initialization order 2022-03-28 19:01:23 +08:00
entry x86/entry: Move nmi entry/exit into common code 2021-03-17 17:06:36 +01:00
events This is the 5.10.44 stable release 2021-06-16 13:14:03 +02:00
gcov gcov: re-fix clang-11+ support 2021-04-14 08:41:58 +02:00
irq This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
kcsan kcsan: Fix debugfs initcall return type 2021-05-26 12:06:54 +02:00
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 kbuild: update config_data.gz only when the content of .config is changed 2021-05-11 14:47:37 +02:00
acct.c
async.c
audit_fsnotify.c fsnotify: generalize handle_inode_event() 2020-12-30 11:54:18 +01:00
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 fsnotify: generalize handle_inode_event() 2020-12-30 11:54:18 +01:00
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_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo 2021-06-23 14:42:52 +02:00
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 ANDROID: vendor_hooks: Add hooks for memory when debug 2021-03-19 04:54:07 +00:00
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 ANDROID: freezer: Add vendor hook to freezer for GKI purpose. 2021-06-07 16:07:44 +00:00
futex.c Linux 5.10.47 2021-06-30 19:38:46 +02:00
gen_kheaders.sh
groups.c
hung_task.c FROMLIST: freezer: Add frozen_or_skipped() helper function 2021-06-02 15:42:01 +00:00
iomem.c
irq_work.c ANDROID: Sched: Export scheduler symbols needed by vendor modules 2020-12-03 16:50:04 +00:00
jump_label.c jump_label: Fix jump_label_text_reserved() vs __init 2021-07-20 16:05:58 +02:00
kallsyms.c ANDROID: kallsyms: cfi: strip hashes from static functions 2021-01-14 16:31:46 +00:00
kcmp.c exec: Transform exec_update_mutex into a rw_semaphore 2021-01-09 13:46:24 +01:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c
kexec_core.c kernel: kexec: remove the lock operation of system_transition_mutex 2021-02-03 23:28:37 +01:00
kexec_elf.c
kexec_file.c kernel: kexec_file: fix error return code of kexec_calculate_store_digests() 2021-05-19 10:13:09 +02:00
kexec_internal.h
kexec.c
kheaders.c
kmod.c
kprobes.c kprobes: Fix to delay the kprobes jump optimization 2021-03-04 11:38:35 +01:00
ksysfs.c
kthread.c This is the 5.10.62 stable release 2021-09-03 10:51:56 +02:00
latencytop.c
Makefile kbuild: update config_data.gz only when the content of .config is changed 2021-05-11 14:47:37 +02:00
module_signature.c module: harden ELF info handling 2021-03-25 09:04:11 +01:00
module_signing.c module: harden ELF info handling 2021-03-25 09:04:11 +01:00
module-internal.h
module.c Merge branch 'android12-5.10' into android12-5.10-lts 2021-07-22 13:32:27 +02:00
notifier.c
nsproxy.c
padata.c
panic.c
params.c
pid_namespace.c
pid.c Merge 5.10.6 into android12-5.10 2021-01-13 10:28:55 +01:00
profile.c
ptrace.c ptrace: make ptrace() fail if the tracee changed its pid unexpectedly 2021-05-26 12:06:49 +02:00
range.c
reboot.c i2c: rk3x: Make sure the i2c transfer to be finished before system reboot 2021-08-03 14:44:16 +08:00
regset.c
relay.c
resource.c kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources 2021-05-19 10:13:09 +02:00
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 ANDROID: signal: Add vendor hook for memory reaping 2021-06-03 20:59:15 +00:00
smp.c ANDROID: Fix kernelci warnings for indentation in smp.c 2021-07-06 21:17:01 +00:00
smpboot.c sched/core: Initialize the idle task with preemption disabled 2021-07-14 16:55:50 +02:00
smpboot.h
softirq.c softirq: retrieve wakeup_softirqd() 2021-09-06 16:18:59 +08:00
stackleak.c
stacktrace.c ANDROID: stacktrace: export stack_trace_save_tsk/regs 2021-04-13 13:18:04 +00:00
static_call.c static_call: Fix unused variable warn w/o MODULE 2021-09-08 08:49:00 +02:00
stop_machine.c ANDROID: stop_machine: stop_one_cpu_async 2020-12-08 19:07:21 +00:00
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 FROMLIST: mm: compaction: support triggering of proactive compaction by user 2021-06-17 14:15:58 -07:00
task_work.c FROMGIT: kasan: record task_work_add() call stack 2021-03-24 15:09:18 -07:00
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 smp: Fix smp_call_function_single_async prototype 2021-05-14 09:50:46 +02:00
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 ANDROID: user: Add vendor hook to user for GKI purpose 2021-06-10 01:35:22 +00:00
usermode_driver.c bpf: Fix umd memory leak in copy_process() 2021-03-30 14:32:03 +02:00
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