72 lines
2.5 KiB
Plaintext
72 lines
2.5 KiB
Plaintext
|
menu "MTK scheduler extension"
|
||
|
|
||
|
config MTK_SCHED_EXTENSION
|
||
|
bool "mtk scheduler extension"
|
||
|
help
|
||
|
MTK scheduler extension,
|
||
|
1. include MTK scheduler enhancement.
|
||
|
2. All MTK scheduler sub-feature config should depend on
|
||
|
this config.
|
||
|
Say Y to enable MTK scheduler extension. If unsure, say N.
|
||
|
|
||
|
config MTK_IDLE_BALANCE_ENHANCEMENT
|
||
|
bool "mtk load balance enhancement"
|
||
|
depends on MTK_SCHED_EXTENSION && SMP && ENERGY_MODEL && CPU_FREQ_GOV_SCHEDUTIL
|
||
|
help
|
||
|
Mediatek aggressive idle balance, include
|
||
|
1. for runnable tasks with idle prefer attributes
|
||
|
2. for runnable and running tasks with min_cap(dynamic floor)
|
||
|
3. migrate runnable task directly and
|
||
|
use stop machine to migrate running task
|
||
|
|
||
|
config MTK_SCHED_INTEROP
|
||
|
bool "mtk scheduling interopation enhancement"
|
||
|
depends on MTK_SCHED_EXTENSION
|
||
|
help
|
||
|
Original Linux Design, RT & CFS do load balance seperatedly,
|
||
|
and let would result in unload balance.
|
||
|
that is, one CPU has more than 2 tasks, however, one CPU is IDLE
|
||
|
We make RT & CFS to check each other and make load more balance.
|
||
|
|
||
|
config MTK_SCHED_LB_ENHANCEMENT
|
||
|
bool "mtk enhancement for load balance"
|
||
|
depends on MTK_SCHED_EXTENSION && ENERGY_MODEL && CPU_FREQ_GOV_SCHEDUTIL
|
||
|
help
|
||
|
mtk enhancement for load balance
|
||
|
system overutilization,
|
||
|
intra-cluster load balance,
|
||
|
and so on.
|
||
|
|
||
|
config MTK_SCHED_TRACERS
|
||
|
bool "mtk scheduling trace, output mtk schedule trace into FTRACE"
|
||
|
depends on MTK_SCHED_EXTENSION
|
||
|
help
|
||
|
Mediatek scheduling trace, output mtk schedule trace into FTRACE,
|
||
|
Mediatek enhancements to vanilla linux kernel. Export scheduling
|
||
|
trace in sched_switch events.
|
||
|
Say Y to enable mtk scheduling trace.If unsure, say N
|
||
|
|
||
|
config MTK_SCHED_CPU_PREFER
|
||
|
bool "mtk scheduling boost enhancement"
|
||
|
depends on MTK_SCHED_EXTENSION && ENERGY_MODEL && CPU_FREQ_GOV_SCHEDUTIL
|
||
|
help
|
||
|
task level to prefer to put the task
|
||
|
on big core or little core.
|
||
|
If the preferred type CPU has IDLE CPU,
|
||
|
put on the task on the idle CPU.
|
||
|
If there are no IDLE CPU on preferred type CPU,
|
||
|
the task placement will follow original policy.
|
||
|
|
||
|
config MTK_SCHED_BIG_TASK_MIGRATE
|
||
|
bool "mtk scheduling big task migrate"
|
||
|
depends on MTK_SCHED_EXTENSION && SMP
|
||
|
help
|
||
|
Migrate misfit task more efficient in scheduler tick.
|
||
|
1. Big task migration: migrate misfit task in scheduler tick
|
||
|
To reduce boosted task push to big core latency.
|
||
|
Migrate current task to big core if it is misfit.
|
||
|
2. Big task rotation: swap two misfit task between big cores and
|
||
|
little core, equally distributed runtime for each misfit task.
|
||
|
endmenu
|
||
|
|