diff --git a/linux-tkg-config/prepare b/linux-tkg-config/prepare index 91addb3..e69164a 100644 --- a/linux-tkg-config/prepare +++ b/linux-tkg-config/prepare @@ -274,6 +274,7 @@ _set_cpu_scheduler() { ["upds"]="Undead PDS (TkG)" ["cacule"]="CacULE" ["tt"]="TT (TaskType)" + ["echo"]="ECHO (Enhanced CPU Handling Orchestrator)" ["bore"]="BORE (Burst-Oriented Response Enhancer) CPU Scheduler" ["bore-eevdf"]="BORE (Burst-Oriented Response Enhancer - EEVDF variant) CPU Scheduler" ) @@ -320,9 +321,9 @@ _set_cpu_scheduler() { elif [ "$_kver" = "606" ]; then _avail_cpu_scheds=("eevdf" "bore" "pds" "bmq") elif [ "$_kver" = "607" ]; then - _avail_cpu_scheds=("eevdf" "bore" "pds" "bmq") + _avail_cpu_scheds=("eevdf" "bore" "echo" "pds" "bmq") elif [ "$_kver" = "608" ]; then - _avail_cpu_scheds=("eevdf" "bore" "pds" "bmq") + _avail_cpu_scheds=("eevdf" "bore" "echo" "pds" "bmq") else _avail_cpu_scheds=("$_default_cpu_sched") fi @@ -849,6 +850,10 @@ _tkg_srcprep() { curl "https://raw.githubusercontent.com/hamadmarri/TT-CPU-Scheduler/master/patches/${_basekernel}/high-hz.patch" > "$srcdir"/tt_high_hz.patch tkgpatch="$srcdir/tt_high_hz.patch" && _tkg_patcher fi + elif [ "${_cpusched}" = "echo" ]; then + _msg="Applying ECHO patch" + curl "https://raw.githubusercontent.com/hamadmarri/ECHO-CPU-Scheduler/main/${_basekernel}.y/linux-${_basekernel}-echo.patch" > "$srcdir"/0001-echo.patch + tkgpatch="$srcdir/0001-echo.patch" && _tkg_patcher elif [ "${_cpusched}" = "bore" ]; then _msg="Applying BORE patch" curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore.patch" > "$srcdir"/0001-bore.patch @@ -1116,6 +1121,9 @@ _tkg_srcprep() { elif [ "${_cpusched}" = "tt" ]; then _enable "TT_SCHED" _enable "TT_ACCOUNTING_STATS" + elif [ "${_cpusched}" = "echo" ]; then + _enable "ECHO_SCHED" + _disable "FAIR_GROUP_SCHED" "SCHED_AUTOGROUP" "SCHED_CORE" elif [ "${_cpusched}" = "upds" ]; then # PDS default config _enable "SCHED_PDS" @@ -1324,6 +1332,9 @@ _tkg_srcprep() { if [ "$_cpusched" = "cacule" ]; then _avail_timer_frequencies+=("2000") _avail_timer_frequencies_text+=("2000 Hz") + elif [ "$_cpusched" = "echo" ]; then + _avail_timer_frequencies=("625") + _avail_timer_frequencies_text=("625 Hz") fi typeset -A _default_timer_frequencies_index @@ -1332,6 +1343,7 @@ _tkg_srcprep() { ["muqss"]="1" ["cacule"]="6" ["tt"]="5" + ["echo"]="0" ["upds"]="5" ["cfs"]="5" ["eevdf"]="5"