Docs, prepare: EEVDFfy (#844)

* Docs, prepare: EEVDFfy

* 6.6: add glitched eevdf additions

* apply comments

* more comments

* comments
This commit is contained in:
kylon
2023-11-14 10:12:40 +01:00
committed by GitHub
parent 562a12e778
commit f92d4ed9ca
5 changed files with 126 additions and 157 deletions

View File

@@ -179,7 +179,15 @@ _set_kver_internal_vars() {
# examples: "600", "515", "504" we use this variable to have proper comparisons
_kver="${_kver_split[0]}${_kver_split[1]}"
echo -e "_basekernel='$_basekernel'\n_basever='$_basever'\n_sub='$_sub'\n_kver='$_kver'" > "$_where"/BIG_UGLY_FROGMINER
if [ $_kver -le 605 ]; then
# chosen kernel <= 6.5
_default_cpu_sched="cfs"
else
# chosen kernel >= 6.6
_default_cpu_sched="eevdf"
fi
echo -e "_basekernel='$_basekernel'\n_basever='$_basever'\n_sub='$_sub'\n_kver='$_kver'\n_default_cpu_sched='$_default_cpu_sched'" > "$_where"/BIG_UGLY_FROGMINER
}
_set_kernel_version() {
@@ -252,14 +260,14 @@ _set_cpu_scheduler() {
_sched_description_array=(
["pds"]="Project C / PDS"
["bmq"]="Project C / BMQ"
["cfs"]="CFS (Completely Fair Scheduler) Linux kernel's default"
["eevdf"]="EEVDF (Earliest Eligible Virtual Deadline First scheduler) Linux kernel's default for ≥ 6.6"
["cfs"]="CFS (Completely Fair Scheduler) Linux kernel's default for ≤ 6.5"
["muqss"]="MuQSS (Multiple Queue Skiplist Scheduler)"
["upds"]="Undead PDS (TkG)"
["cacule"]="CacULE"
["tt"]="TT (TaskType)"
["bore"]="BORE (Burst-Oriented Response Enhancer) CPU Scheduler"
["bore-eevdf"]="BORE (Burst-Oriented Response Enhancer - EEVDF variant) CPU Scheduler"
["eevdf"]="Earliest Eligible Virtual Deadline First (EEVDF) scheduler"
)
# CPU SCHED selector - _projectc_unoff=1 sets unofficial Project C revision flag for a given version
@@ -304,7 +312,7 @@ _set_cpu_scheduler() {
elif [ "$_kver" = "606" ]; then
_avail_cpu_scheds=("eevdf" "bore")
else
_avail_cpu_scheds=("cfs")
_avail_cpu_scheds=("$_default_cpu_sched")
fi
if [ "${_preempt_rt}" = "1" ]; then
@@ -348,7 +356,7 @@ _set_cpu_scheduler() {
if [ -z "$_cpusched" ]; then
msg2 "Which CPU sched variant do you want to build/install?"
msg2 "Project C (pds) / BMQ (bmq) is usually a good balance for gaming."
msg2 "Select \"cfs\" (linux kernel's default) if unsure."
msg2 "Select \"$_default_cpu_sched\" (linux kernel's default) if unsure."
_default_index="0"
_prompt_from_array "${_avail_cpu_scheds_text[@]}"
@@ -854,16 +862,23 @@ _tkg_srcprep() {
_msg="Applying Glitched CFS additions patch"
tkgpatch="$srcdir/0003-glitched-cfs-additions.patch" && _tkg_patcher
elif [[ "${_cpusched}" =~ "eevdf" ]]; then
_msg="Applying Earliest Eligible Virtual Deadline First (EEVDF) scheduler patch"
tkgpatch="$srcdir/0003-eevdf.patch" && _tkg_patcher
if [[ $_kver == "604" || $_kver == "605" ]]; then
_msg="Applying Earliest Eligible Virtual Deadline First (EEVDF) scheduler patch"
tkgpatch="$srcdir/0003-eevdf.patch" && _tkg_patcher
if [[ "${_cpusched}" != "bore-eevdf" ]]; then
_msg="Applying eevdf-Disable-DELAY_DEQUEUE patch"
tkgpatch="$srcdir/0004-eevdf-Disable-DELAY_DEQUEUE.patch" && _tkg_patcher
fi
elif [[ $_kver -ge 606 ]]; then
_msg="Applying Glitched EEVDF additions patch"
tkgpatch="$srcdir/0003-glitched-eevdf-additions.patch" && _tkg_patcher
fi
if [ "${_cpusched}" = "bore-eevdf" ]; then
_msg="Applying BORE-EEVDF patch"
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore-eevdf.patch" > "$srcdir"/0001-bore-eevdf.patch
tkgpatch="$srcdir/0001-bore-eevdf.patch" && _tkg_patcher
else
_msg="Applying eevdf-Disable-DELAY_DEQUEUE patch"
tkgpatch="$srcdir/0004-eevdf-Disable-DELAY_DEQUEUE.patch" && _tkg_patcher
fi
fi
@@ -1110,7 +1125,7 @@ _tkg_srcprep() {
fi
if [[ "${_cpusched}" =~ ^(muqss|pds|bmq|upds)$ ]]; then
# Disable CFS
# Disable CFS/EEVDF
_disable "FAIR_GROUP_SCHED"
_disable "CFS_BANDWIDTH"