From 74b96a40350facaf2615cd152339f938df968b24 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Wed, 5 Jan 2022 21:36:56 +0700 Subject: [PATCH] packages/linux-lava: bump to 5.15.13 and switch to pds --- packages/linux-lava/default.nix | 17 ++++++++--------- packages/linux-lava/repatch.patch | 14 ++++++++++++++ packages/linux-lava/sources.nix | 25 ++++++++++--------------- packages/linux-lava/unpatch.patch | 13 +++++++++++++ 4 files changed, 45 insertions(+), 24 deletions(-) create mode 100644 packages/linux-lava/repatch.patch create mode 100644 packages/linux-lava/unpatch.patch diff --git a/packages/linux-lava/default.nix b/packages/linux-lava/default.nix index e8e0f40..a08a2b7 100644 --- a/packages/linux-lava/default.nix +++ b/packages/linux-lava/default.nix @@ -30,8 +30,8 @@ in buildLinux (args // { NO_HZ_IDLE = no; CONTEXT_TRACKING = yes; CONTEXT_TRACKING_FORCE = no; - HZ_2000 = yes; - HZ_2000_NODEF = yes; + HZ_500 = yes; + HZ_500_NODEF = yes; # preempt PREEMPT = yes; @@ -41,22 +41,21 @@ in buildLinux (args // { PREEMPT_DYNAMIC = yes; # scheduler - CACULE_SCHED = yes; - CACULE_RDB = yes; - SCHED_AUTOGROUP = yes; - BSD_PROCESS_ACCT = no; - CGROUP_CPUACCT = no; - CGROUP_DEBUG = no; + SCHED_ALT = yes; + SCHED_PDS = yes; + FAIR_GROUP_SCHED = no; + CFS_BANDWIDTH = no; # disable numa NUMA = no; AMD_NUMA = no; + ACPI_NUMA = no; X86_64_ACPI_NUMA = no; NODES_SPAN_OTHER_NODES = no; NUMA_EMU = no; + NODES_SHIFT = no; NEED_MULTIPLE_NODES = no; USE_PERCPU_NUMA_NODE_ID = no; - ACPI_NUMA = no; # disable ftrace FUNCTION_TRACER = no; diff --git a/packages/linux-lava/repatch.patch b/packages/linux-lava/repatch.patch new file mode 100644 index 0000000..bd52fe3 --- /dev/null +++ b/packages/linux-lava/repatch.patch @@ -0,0 +1,14 @@ +--- a/arch/parisc/install.sh 2022-01-05 21:26:01.042463247 +0700 ++++ b/arch/parisc/install.sh 2022-01-05 21:26:08.467328153 +0700 +@@ -37,9 +37,8 @@ + # User may have a custom install script + + if [ -n "${INSTALLKERNEL}" ]; then +- if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi +- if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi +- if [ -x /usr/sbin/${INSTALLKERNEL} ]; then exec /usr/sbin/${INSTALLKERNEL} "$@"; fi ++ if [ -x ~${INSTALLKERNEL} ]; then exec ~${INSTALLKERNEL} "$@"; fi ++ if [ -x ${INSTALLKERNEL} ]; then exec ${INSTALLKERNEL} "$@"; fi + fi + + # Default install diff --git a/packages/linux-lava/sources.nix b/packages/linux-lava/sources.nix index 2b90cfe..ae607e3 100644 --- a/packages/linux-lava/sources.nix +++ b/packages/linux-lava/sources.nix @@ -1,21 +1,20 @@ { fetchFromGitHub, inputs, lib }: let - version = "5.15.6"; + version = "5.15.13"; kernelHash = "1s0yk78kilcr3vd14k67cmllnrx0x0i00jdkl5kkn3lij5lwzcjp"; - kernelPatchHash = "07k2vqf0mynladx23p980yi71fhqimr997s4azvqxwg244qpbx93"; - caculeRev = "2ac16b14bc0281c3b6c14828688981633b82ffd8"; - caculeHash = "0li0zaizxvpigngv1954hkw8dirwyvqy93gb3af33cm47ir9049p"; + kernelPatchHash = "044y7mmla0f73mky24vpvl8ba3warfr6im97s1231gjxican40v6"; tkgPatches = [ "0001-mm-Support-soft-dirty-flag-reset-for-VA-range" "0002-clear-patches" "0002-mm-Support-soft-dirty-flag-read-with-reset" - #"0003-cacule-${mm}" "0003-glitched-base" - "0003-glitched-cfs" "0007-v${mm}-futex_waitv" "0007-v${mm}-fsync1_via_futex_waitv" "0007-v${mm}-winesync" + "0009-prjc_v5.15-r1" + "0009-glitched-ondemand-bmq" + "0005-glitched-pds" "0012-misc-additions" ]; @@ -31,14 +30,6 @@ let sha256 = kernelPatchHash; }; }; - caculeSrc = { - name = "cacule"; - patch = builtins.fetchurl { - url = "https://raw.githubusercontent.com/CachyOS/cacule-cpu-scheduler/${caculeRev}/patches/CacULE/v${mm}/cacule-${mm}-full.patch"; - sha256 = caculeHash; - }; - }; - mm = lib.versions.majorMinor version; in { inherit version; @@ -49,8 +40,12 @@ in { }; kernelPatches = [ + # This is dumb but nix strips FHS paths *before* patching (why???????) so patches might fail to apply + # This "unpatch patch" fixes one such patch failure, then reapplys the stripped FHS path in + # the "repatch patch" (even though the affected file isn't really used but w/e) + (patch ./unpatch.patch) kernelPatchSrc - caculeSrc + (patch ./repatch.patch) (patch ./si-manual-clocking.patch) ] ++ builtins.map (name: { diff --git a/packages/linux-lava/unpatch.patch b/packages/linux-lava/unpatch.patch new file mode 100644 index 0000000..7d9e795 --- /dev/null +++ b/packages/linux-lava/unpatch.patch @@ -0,0 +1,13 @@ +--- a/arch/parisc/install.sh 2022-01-05 21:19:53.405768910 +0700 ++++ b/arch/parisc/install.sh 2022-01-05 21:22:05.079800743 +0700 +@@ -37,8 +37,8 @@ + # User may have a custom install script + + if [ -n "${INSTALLKERNEL}" ]; then +- if [ -x ~${INSTALLKERNEL} ]; then exec ~${INSTALLKERNEL} "$@"; fi +- if [ -x ${INSTALLKERNEL} ]; then exec ${INSTALLKERNEL} "$@"; fi ++ if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi ++ if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi + fi + + # Default install