diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | cachy5.8.pick.patch | 89 |
3 files changed, 97 insertions, 4 deletions
@@ -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 @@ -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 |