| config MTK_SCHEDULER |
| tristate "mtk scheduler feature" |
| help |
| Choose this option to enable mtk schduler feature. |
| These features include |
| non-linear DVFS control |
| EAS enhancement |
| |
| config MTK_OPP_CAP_INFO |
| bool "Per-opp capacity information" |
| depends on MTK_CPUFREQ_SUGOV_EXT |
| help |
| Choose this option to provide per-opp capacity API. |
| Scheduler module will get per-opp capacity from sram and |
| initialize opp capacity table. This config is used by |
| performance tuning framework and non-linear frequency control. |
| |
| config NONLINEAR_FREQ_CTL |
| bool "Non-linear frequency control" |
| depends on MTK_OPP_CAP_INFO |
| help |
| Choose this option to enable non-linear frequency control. |
| This will change per-opp capacity from linear scaled by |
| freuqency to evaluated by benchmark. This makes capacity |
| more accurate and will let scheduler/schedutil use more |
| suitable frequency. |
| |
| config MTK_EAS |
| bool "MTK EAS enhancement" |
| depends on MTK_SCHEDULER |
| help |
| MTK EAS enhancement features. |
| These featues include |
| 1. load balance in the same frequency domain |
| 2. hint aware in idle balance |
| 3. Notify thermal ceiling to scheduler by reading thermal |
| ceiling in SRAM and updating thermal pressure. |
| |
| config MTK_THERMAL_AWARE_SCHEDULING |
| bool "thermal aware scheduling" |
| depends on MTK_EAS && MTK_THERMAL_INTERFACE |
| help |
| CPU leakage optimization by temperature balance in the |
| same frequency domain. |
| Task placement consider temperature for leakage. |
| Use current Per-core temperature (per-10'c, per-die). |
| Favor tasks to CPU with lowest thermal pressure. |
| |
| config MTK_LEAKAGE_AWARE_TEMP |
| bool "MTK leakage aware temperature" |
| depends on MTK_EAS && MTK_THERMAL_INTERFACE |
| help |
| Compute energy will consider CPU leakage and |
| CPU leakage will aware per-CPU temperature. |
| Favor to put tasks into CPU with lowest temperature and |
| to save power. |
| |
| config MTK_NEWIDLE_BALANCE |
| bool "new idle balance for hint task" |
| depends on MTK_EAS |
| help |
| When a CPU is newly IDLE, pull the runnable task |
| with Latency-sensitive hint in other CPUs to this IDLE CPU. |
| This feature enhances the latency of the task with |
| latency-sensitive hint. |
| |
| config MTK_CORE_PAUSE |
| bool "core pause driver" |
| depends on MTK_SCHEDULER |
| help |
| Choose this option to provide core pause related API. |
| core pause intends to have a way to force a CPU to go idle |
| and to resume as quickly as possible, with as little |
| disruption as possible on the system. |
| |
| config MTK_SCHED_BIG_TASK_ROTATE |
| bool "scheduling big task rotate" |
| depends on MTK_SCHEDULER |
| help |
| Swap two misfit tasks between big cores and little core, |
| equally distributed runtime for each misfit task. |
| It can use for parallel thread at multi-core to reduce |
| execution time. |
| |
| config MTK_CPUFREQ_SUGOV_EXT |
| tristate "mediatek sugov governor" |
| depends on CPU_FREQ && SMP |
| help |
| Choose this option to provide vendor cpufreq governor build |
| by mediatek. This governor support non-linear freq control and |
| vary optimizations. This config should be enable when |
| you want full mtk solution. |
| |
| config MTK_GEARLESS_SUPPORT |
| bool "MTK CPU DVFS Gearless Control" |
| help |
| This config is for the gearless DVFS design to enable continuous |
| scaling. |
| If you are not sure about whether to enable it or not, |
| please set n. |
| |
| config MTK_LEAKAGE_HIT |
| bool "Leakage hit method" |
| depends on MTK_GEARLESS_SUPPORT |
| help |
| This config is for the leakage parameters means leakage |
| parameters are loaded when someone uses, like cache hit or when |
| module initialization. If this config is not setted to y, leakage |
| parameters will be loaded during booting process. |
| |
| config MTK_OPP_MIN |
| bool "mediatek sugov governor" |
| depends on MTK_CPUFREQ_SUGOV_EXT && MTK_THERMAL_INTERFACE |
| help |
| To improve critical task performance under same power budget |
| On-time deliver critical task frequency boost hint to thermal. |
| |
| config MTK_CORE_CTL |
| tristate "MTK Core Control with CPU Isolation" |
| depends on MTK_CORE_PAUSE |
| help |
| This config is for the core control policy with CPU isolation. |
| The core control online and offline CPU cores based on task |
| utilizations from scheduler information automatically. |
| If you are not sure about whether to enable it or not, |
| please set n. |