summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD8
-rw-r--r--cachy5.8.pick.patch89
3 files changed, 97 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0345d3abcad8..f7326f600ae9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linux-xanmod-anbox
pkgdesc = Linux Xanmod with ashmem and binder enabled for Anbox
pkgver = 5.8.13
- pkgrel = 1
+ pkgrel = 2
url = http://www.xanmod.org/
arch = x86_64
license = GPL2
@@ -21,6 +21,7 @@ pkgbase = linux-xanmod-anbox
source = https://github.com/xanmod/linux/releases/download/5.8.13-xanmod1/patch-5.8.13-xanmod1.xz
source = choose-gcc-optimization.sh
source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-CLONE_NEWUSER.patch::https://aur.archlinux.org/cgit/aur.git/plain/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch?h=linux-ck&id=616ec1bb1f2c0fc42b6fb5c20995996897b4f43b
+ source = cachy5.8.pick.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha256sums = e7f75186aa0642114af8f19d99559937300ca27acaf7451b36d4f9b0f85cf1f5
@@ -28,6 +29,7 @@ pkgbase = linux-xanmod-anbox
sha256sums = e7e367b6218ea8d54dc444445d9e0965be6ee6ff0f4a8dcb7c1d12a7e798f827
sha256sums = 2c7369218e81dee86f8ac15bda741b9bb34fa9cefcb087760242277a8207d511
sha256sums = 6c66dba73251440352f93ff32b72f5dd49536d0f17ef9347867660fd3a626991
+ sha256sums = 22a41176682a83fa4d1d04a4522651add4840a914a93d82f13729a33734be944
pkgname = linux-xanmod-anbox
pkgdesc = The Linux kernel and modules with Xanmod patches and ashmem and binder enabled
diff --git a/PKGBUILD b/PKGBUILD
index ed6127567fee..6fe204d07964 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -70,7 +70,7 @@ pkgver=5.8.13
_major=5.8
_branch=5.x
xanmod=1
-pkgrel=${xanmod}
+pkgrel=2
pkgdesc='Linux Xanmod with ashmem and binder enabled for Anbox'
url="http://www.xanmod.org/"
arch=(x86_64)
@@ -86,7 +86,8 @@ _srcname="linux-${pkgver}-xanmod${xanmod}"
source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar."{xz,sign}
"https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz"
choose-gcc-optimization.sh
- '0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-CLONE_NEWUSER.patch::https://aur.archlinux.org/cgit/aur.git/plain/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch?h=linux-ck&id=616ec1bb1f2c0fc42b6fb5c20995996897b4f43b')
+ '0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-CLONE_NEWUSER.patch::https://aur.archlinux.org/cgit/aur.git/plain/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch?h=linux-ck&id=616ec1bb1f2c0fc42b6fb5c20995996897b4f43b'
+ cachy5.8.pick.patch)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -103,7 +104,8 @@ sha256sums=('e7f75186aa0642114af8f19d99559937300ca27acaf7451b36d4f9b0f85cf1f5'
'SKIP'
'e7e367b6218ea8d54dc444445d9e0965be6ee6ff0f4a8dcb7c1d12a7e798f827'
'2c7369218e81dee86f8ac15bda741b9bb34fa9cefcb087760242277a8207d511'
- '6c66dba73251440352f93ff32b72f5dd49536d0f17ef9347867660fd3a626991')
+ '6c66dba73251440352f93ff32b72f5dd49536d0f17ef9347867660fd3a626991'
+ '22a41176682a83fa4d1d04a4522651add4840a914a93d82f13729a33734be944')
export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux}
export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg}
diff --git a/cachy5.8.pick.patch b/cachy5.8.pick.patch
new file mode 100644
index 000000000000..b0e07bdda322
--- /dev/null
+++ b/cachy5.8.pick.patch
@@ -0,0 +1,89 @@
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index ba439ad92f4c..883da0abf779 100644
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -1542,7 +1542,6 @@ config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
+ # Common NUMA Features
+ config NUMA
+ bool "NUMA Memory Allocation and Scheduler Support"
+- depends on !CACHY_SCHED
+ depends on SMP
+ depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
+ default y if X86_BIGSMP
+diff --git a/init/Kconfig b/init/Kconfig
+index 053626d9ab94..ab23e72841f7 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -922,7 +922,6 @@ config CGROUP_WRITEBACK
+
+ menuconfig CGROUP_SCHED
+ bool "CPU controller"
+- depends on !CACHY_SCHED
+ default n
+ help
+ This feature lets CPU scheduler recognize task groups and control CPU
+@@ -1185,7 +1184,9 @@ config CHECKPOINT_RESTORE
+
+ config SCHED_AUTOGROUP
+ bool "Automatic process group scheduling"
+- depends on FAIR_GROUP_SCHED && !CACHY_SCHED
++ select CGROUPS
++ select CGROUP_SCHED
++ select FAIR_GROUP_SCHED
+ help
+ This option optimizes the scheduler for common desktop workloads by
+ automatically creating and populating task groups. This separation
+diff --git a/kernel/sched/cachy.c b/kernel/sched/cachy.c
+index 477aebe000f0..d1800bda879f 100644
+--- a/kernel/sched/cachy.c
++++ b/kernel/sched/cachy.c
+@@ -4170,6 +4170,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags)
+ update_cfs_group(se);
+ }
+
++static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *curr);
++
+ /*
+ * Preempt the current task with a newly woken task if needed:
+ */
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index bbf09ce73d6f..b41410694c72 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -2923,7 +2923,12 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
+ /*
+ * Make sure we do not leak PI boosting priority to the child.
+ */
++#ifdef CONFIG_CACHY_SCHED
++ p->prio = current->original_prio;
++ p->original_prio = current->original_prio;
++#else
+ p->prio = current->normal_prio;
++#endif
+
+ uclamp_fork(p);
+
+@@ -3020,6 +3025,14 @@ void wake_up_new_task(struct task_struct *p)
+
+ raw_spin_lock_irqsave(&p->pi_lock, rf.flags);
+ p->state = TASK_RUNNING;
++
++#ifdef CONFIG_CACHY_SCHED
++ if (p->pid > 1 && p->original_prio >= 120) {
++ p->prio = p->static_prio = p->normal_prio = 139;
++ set_load_weight(p, true);
++ }
++#endif
++
+ #ifdef CONFIG_SMP
+ /*
+ * Fork balancing, do it here and not earlier because:
+@@ -3695,7 +3708,7 @@ void scheduler_tick(void)
+
+ perf_event_task_tick();
+
+-#if CONFIG_SMP
++#ifdef CONFIG_SMP
+ rq->idle_balance = idle_cpu(cpu);
+ trigger_load_balance(rq);
+ #endif