summaryrefslogtreecommitdiff
path: root/sys-kernel/zen-sources
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/zen-sources')
-rw-r--r--sys-kernel/zen-sources/Manifest14
-rw-r--r--sys-kernel/zen-sources/files/0001-sched-proxy-Yield-the-donor-task.patch119
-rw-r--r--sys-kernel/zen-sources/zen-sources-6.18.2.ebuild (renamed from sys-kernel/zen-sources/zen-sources-6.17.8.ebuild)10
-rw-r--r--sys-kernel/zen-sources/zen-sources-6.18.3.ebuild (renamed from sys-kernel/zen-sources/zen-sources-6.17.9.ebuild)23
-rw-r--r--sys-kernel/zen-sources/zen-sources-6.18.ebuild55
5 files changed, 147 insertions, 74 deletions
diff --git a/sys-kernel/zen-sources/Manifest b/sys-kernel/zen-sources/Manifest
index b66cd4192473..397d7c03cf08 100644
--- a/sys-kernel/zen-sources/Manifest
+++ b/sys-kernel/zen-sources/Manifest
@@ -1,9 +1,7 @@
-DIST genpatches-6.17-9.base.tar.xz 442020 BLAKE2B 0585fd0b7f4966a40a76eb9daec6aaa67c86ba8255847ecc9cbd35fa2be94983e3ac0949e9bffbe19d750484ee608e83b690cd5255921a87204a466fa4150c69 SHA512 2e96ab14c9c3e7ee4e5094a3a28ea41c57c6e40c294ca2172ddc2d0ba21ab271ed31fa2fe69d5465d8ae919b161ab09c8a0713385c5ed02d4fd65685a269038e
-DIST genpatches-6.17-9.extras.tar.xz 4064 BLAKE2B fd6b203b8c5981a1140281a66f61c83f471c943dbddf83121dd575ce5e481c6eb8375f001cb09d7640b0f71f615ff3d14a699177ef2fe437ca8324db87d112bb SHA512 479a382a958a66f7c1c4579761fa71a5de80a5b97c90a587c82afa7e3fcd0b24ecc7c0ac6c9ec07292042c86a147b4888a4737729ffeb07278492061d281868a
-DIST genpatches-6.18-1.base.tar.xz 12736 BLAKE2B 5b7b6c7529510e217844debddb9297827c2d32f23be4745f23b14e087ec898ae6b8f22bb24a8cc23786dcf746ea68a6a12e48fa9280c2882027f1c7a505077d9 SHA512 f00d8b3e0db9e1878cd6ba77936b6a4a3d6c74e69ce5a1d7666dfb45ff8d33b55089ea2e63ca8fa29b4821c00d2425cb205b2d4b45d28ff5bae52276144de409
-DIST genpatches-6.18-1.extras.tar.xz 4324 BLAKE2B b9d4fe05d9ffa2642a62280aa67227971b00b878a190b03db1d46f0e7564e759702950440c35bfab077cc690315efb14bcd1f49cc5ae0ebabed4782d9aa58392 SHA512 8a0b46484272cc7fc771b3353c76b1d211aab430d57822b8946db22be3af2f206afd3eb59ea92e5a9e86a325d444f8f49c9b10cfd5275adc58848c0a41a2778c
-DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355
+DIST genpatches-6.18-3.base.tar.xz 210740 BLAKE2B 57beb2179632cfea1af1750b18b060605fcc3ad524d214d4b6c27a4814e38e478e073430214e57ec110ff93f9c63eb12e11cf82cc287f671e6348e912e3218ff SHA512 668f56e01f4cf69d7014c81d411b6ab7ac748a15d854a2e8ed28a7e87deb28193b836f5510abb32ba75fcfdb558f73c1dbda8bcd6e0f5bd943e6df3775ac17da
+DIST genpatches-6.18-3.extras.tar.xz 4324 BLAKE2B 4e9d5b91e517d0cb6c5b995142286b8bef31577a1618e06a9084693ac877745b6625b77a07950e11f3d8e8948bb326e1aeb7daa732b7acb11c3a7ce804de1bcd SHA512 220e3ba44a57d145eba8b648a59ac6bdaeea9ea2dd43addec95a8a2934c44c92442494e4ccc179a7bc80019bd312f0b429978eaee4dbba334e16c3af96649229
+DIST genpatches-6.18-5.base.tar.xz 333884 BLAKE2B a7b06489d4362d08ae0f8d35eac17713924522b476db65186ec80adc66ce0b68aa68a092b5f630e0548934e493f26a17760d5d9a13ab203932c3db1f0f00c4c7 SHA512 d402223d594e087ccd639bc1506b932b2cf9c2a16f9d50eaf8308372af2e3a2525af1a12e51b37b5148b6b98df3c6b8305cc946dacefbd61d240f866234f9c78
+DIST genpatches-6.18-5.extras.tar.xz 4324 BLAKE2B 885772df3f69a71daac0d08ca4083e37a436818cc7607bbef11011959ba42db6842a42af28f120273dd3706fa219f6aa3873cc07449da004a4d2368e1ba3960a SHA512 0ebd28094d49c5b6c04cb0f8ca67d321bf1df8bf2977751daa7a8eaa1f8a50d4a140226533ea411776b0c3652ff583764f20dbd8d800a9bb363df4b3d183eecc
DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0
-DIST linux-v6.17.8-zen1.patch.zst 137500 BLAKE2B 7af7c75fa4a73c88a931f2f00ad9d2e34a0d176cd3fe4e2d06995241d7096a8a000d8fa8b7decdeedd0a41e549849b4809e42a73e499cec4ab8e93a04c9e237c SHA512 55338b31994cdf36a373fdc265fbaf534f3ceb4e0d379f61f45098b535f4a9a50033049c3a47fb8d3cbc5bf43800835657a19d0388fc751fd8b670e7e288fa04
-DIST linux-v6.17.9-zen1.patch.zst 136860 BLAKE2B 4d733c1c4e6eb2da3ac774e0b5828fca32ecfa550069e6b764a93ff8254c4774777460297641cf1c4d952d722637ed737b964f6dbe9da78682045d291928c081 SHA512 6378549f8090f2556351405965cd1d06f6f964722b162dd5b7d33117e672e69914f4f6bd728f2ddca556114dfaa4eb4b9fed0798a2c3a724516f3af7bdb6ceaf
-DIST linux-v6.18-zen1.patch.zst 63203 BLAKE2B 4cb4964a993afccb16fa1f561944a9aa265d98d50f9233873a1e3a5be7bf47e16dd090ffebc0ed59c5fadba8d7a706b56388fa4693876f1b91a59dc6bbbf1d30 SHA512 92690863d289e9cb0c305f4ad933cd7b158252dac34161d69201522a538486c1194670a39a7d8d8b7a012a438abde37a7e50b8fdec8c6f76413fb231ebadbaf0
+DIST linux-v6.18.2-zen2.patch.zst 151600 BLAKE2B d390c7b9722b0fe5e10e56f7f00607d80e9a63329b1b0711e998529e5cb3bfa930c042331100fe1d847e3d1a23b3ab417e85011bb92d9913bc6a0308bc3a3b7b SHA512 93920e4f37919066937033ffa3cce9267060d14342c490016c68fe8ede0296ab5d9783f6ab8a956bb8ecbd49bc3c3ea7515187c882c8fe58ced696da1e52999e
+DIST linux-v6.18.3-zen1.patch.zst 154027 BLAKE2B cd7c7026515feddc80accdb663da531f10f3c10ac92849ff0039b62d37bd9f826c6dd68841eead353564d4eb592f13f0460b6f6144e3cb42815b7efa5c7b7f51 SHA512 f3663625f35ee55a191384cede415790aa6f484b925f3cee4b40a8598577af68c22748b43d052fc591ecff160985ba36f3ab088c684f1c93f3fbef24981880b0
diff --git a/sys-kernel/zen-sources/files/0001-sched-proxy-Yield-the-donor-task.patch b/sys-kernel/zen-sources/files/0001-sched-proxy-Yield-the-donor-task.patch
new file mode 100644
index 000000000000..b3437399ea49
--- /dev/null
+++ b/sys-kernel/zen-sources/files/0001-sched-proxy-Yield-the-donor-task.patch
@@ -0,0 +1,119 @@
+From d4ed8eac96348fdf65c285a1b756808581a80a69 Mon Sep 17 00:00:00 2001
+From: Fernand Sieber <sieberf@amazon.com>
+Date: Thu, 6 Nov 2025 12:40:10 +0200
+Subject: [PATCH] sched/proxy: Yield the donor task
+
+When executing a task in proxy context, handle yields as if they were
+requested by the donor task. This matches the traditional PI semantics
+of yield() as well.
+
+This avoids scenario like proxy task yielding, pick next task selecting the
+same previous blocked donor, running the proxy task again, etc.
+
+Reported-by: kernel test robot <oliver.sang@intel.com>
+Closes: https://lore.kernel.org/oe-lkp/202510211205.1e0f5223-lkp@intel.com
+Suggested-by: Peter Zijlstra <peterz@infradead.org>
+Signed-off-by: Fernand Sieber <sieberf@amazon.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Link: https://patch.msgid.link/20251106104022.195157-1-sieberf@amazon.com
+Signed-off-by: Brahmajit Das <listout@listout.xyz>
+---
+ kernel/sched/deadline.c | 2 +-
+ kernel/sched/ext.c | 4 ++--
+ kernel/sched/fair.c | 2 +-
+ kernel/sched/rt.c | 2 +-
+ kernel/sched/syscalls.c | 5 +++--
+ 5 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
+index 19b1a8b81c76..d3be71d5a9cc 100644
+--- a/kernel/sched/deadline.c
++++ b/kernel/sched/deadline.c
+@@ -2143,7 +2143,7 @@ static void yield_task_dl(struct rq *rq)
+ * it and the bandwidth timer will wake it up and will give it
+ * new scheduling parameters (thanks to dl_yielded=1).
+ */
+- rq->curr->dl.dl_yielded = 1;
++ rq->donor->dl.dl_yielded = 1;
+
+ update_rq_clock(rq);
+ update_curr_dl(rq);
+diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
+index b959a70471c1..907eea83294c 100644
+--- a/kernel/sched/ext.c
++++ b/kernel/sched/ext.c
+@@ -1493,7 +1493,7 @@ static bool dequeue_task_scx(struct rq *rq, struct task_struct *p, int deq_flags
+ static void yield_task_scx(struct rq *rq)
+ {
+ struct scx_sched *sch = scx_root;
+- struct task_struct *p = rq->curr;
++ struct task_struct *p = rq->donor;
+
+ if (SCX_HAS_OP(sch, yield))
+ SCX_CALL_OP_2TASKS_RET(sch, SCX_KF_REST, yield, rq, p, NULL);
+@@ -1504,7 +1504,7 @@ static void yield_task_scx(struct rq *rq)
+ static bool yield_to_task_scx(struct rq *rq, struct task_struct *to)
+ {
+ struct scx_sched *sch = scx_root;
+- struct task_struct *from = rq->curr;
++ struct task_struct *from = rq->donor;
+
+ if (SCX_HAS_OP(sch, yield))
+ return SCX_CALL_OP_2TASKS_RET(sch, SCX_KF_REST, yield, rq,
+diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
+index d30dfd6f18b7..99a10815ca17 100644
+--- a/kernel/sched/fair.c
++++ b/kernel/sched/fair.c
+@@ -9006,7 +9006,7 @@ static void put_prev_task_fair(struct rq *rq, struct task_struct *prev, struct t
+ */
+ static void yield_task_fair(struct rq *rq)
+ {
+- struct task_struct *curr = rq->curr;
++ struct task_struct *curr = rq->donor;
+ struct cfs_rq *cfs_rq = task_cfs_rq(curr);
+ struct sched_entity *se = &curr->se;
+
+diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
+index 7936d4333731..fb07dcfc60a2 100644
+--- a/kernel/sched/rt.c
++++ b/kernel/sched/rt.c
+@@ -1490,7 +1490,7 @@ static void requeue_task_rt(struct rq *rq, struct task_struct *p, int head)
+
+ static void yield_task_rt(struct rq *rq)
+ {
+- requeue_task_rt(rq, rq->curr, 0);
++ requeue_task_rt(rq, rq->donor, 0);
+ }
+
+ static int find_lowest_rq(struct task_struct *task);
+diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c
+index a2b06eba44e7..417eb6a63015 100644
+--- a/kernel/sched/syscalls.c
++++ b/kernel/sched/syscalls.c
+@@ -1607,7 +1607,7 @@ static void do_sched_yield(void)
+ rq = this_rq_lock_irq(&rf);
+
+ schedstat_inc(rq->yld_count);
+- current->sched_class->yield_task(rq);
++ rq->donor->sched_class->yield_task(rq);
+ #endif /* !CONFIG_SCHED_ALT */
+
+ preempt_disable();
+@@ -1680,12 +1680,13 @@ int __sched yield_to(struct task_struct *p, bool preempt)
+ #ifdef CONFIG_SCHED_ALT
+ return 0;
+ #else /* !CONFIG_SCHED_ALT */
+- struct task_struct *curr = current;
++ struct task_struct *curr;
+ struct rq *rq, *p_rq;
+ int yielded = 0;
+
+ scoped_guard (raw_spinlock_irqsave, &p->pi_lock) {
+ rq = this_rq();
++ curr = rq->donor;
+
+ again:
+ p_rq = task_rq(p);
+--
+2.52.0
+
diff --git a/sys-kernel/zen-sources/zen-sources-6.17.8.ebuild b/sys-kernel/zen-sources/zen-sources-6.18.2.ebuild
index 1309a0065518..458e038f5157 100644
--- a/sys-kernel/zen-sources/zen-sources-6.17.8.ebuild
+++ b/sys-kernel/zen-sources/zen-sources-6.18.2.ebuild
@@ -4,7 +4,7 @@
EAPI="8"
ETYPE="sources"
K_WANT_GENPATCHES="base extras"
-K_GENPATCHES_VER="9"
+K_GENPATCHES_VER="3"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
K_NODRYRUN="yes"
@@ -19,19 +19,19 @@ HOMEPAGE="https://github.com/zen-kernel"
# Needed for zstd compression of the patch
BDEPEND="$(unpacker_src_uri_depends)"
-ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen1/linux-v${PV}-zen1.patch.zst"
+ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen2/linux-v${PV}-zen2.patch.zst"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${ZEN_URI}"
KEYWORDS="~amd64 ~arm64 ~x86"
-UNIPATCH_LIST="${WORKDIR}/linux-v${PV}-zen1.patch"
+UNIPATCH_LIST="${WORKDIR}/linux-v${PV}-zen2.patch"
UNIPATCH_STRICTORDER="yes"
K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
${HOMEPAGE}, also go to #zen-sources on oftc"
src_unpack() {
- unpacker "linux-v${PV}-zen1.patch.zst"
+ unpacker "linux-v${PV}-zen2.patch.zst"
kernel-2_src_unpack
}
@@ -46,7 +46,7 @@ pkg_setup() {
}
src_install() {
- rm "${WORKDIR}/linux-v${PV}-zen1.patch" || die
+ rm "${WORKDIR}/linux-v${PV}-zen2.patch" || die
kernel-2_src_install
}
diff --git a/sys-kernel/zen-sources/zen-sources-6.17.9.ebuild b/sys-kernel/zen-sources/zen-sources-6.18.3.ebuild
index 1309a0065518..ee11fdc4a930 100644
--- a/sys-kernel/zen-sources/zen-sources-6.17.9.ebuild
+++ b/sys-kernel/zen-sources/zen-sources-6.18.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
ETYPE="sources"
K_WANT_GENPATCHES="base extras"
-K_GENPATCHES_VER="9"
+K_GENPATCHES_VER="5"
K_SECURITY_UNSUPPORTED="1"
K_NOSETEXTRAVERSION="1"
K_NODRYRUN="yes"
@@ -19,19 +19,25 @@ HOMEPAGE="https://github.com/zen-kernel"
# Needed for zstd compression of the patch
BDEPEND="$(unpacker_src_uri_depends)"
-ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen1/linux-v${PV}-zen1.patch.zst"
+ZEN_VER=1
+ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen${ZEN_VER}/linux-v${PV}-zen${ZEN_VER}.patch.zst"
SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${ZEN_URI}"
KEYWORDS="~amd64 ~arm64 ~x86"
-UNIPATCH_LIST="${WORKDIR}/linux-v${PV}-zen1.patch"
+PATCHES=(
+ "${FILESDIR}/0001-sched-proxy-Yield-the-donor-task.patch"
+)
+
+UNIPATCH_LIST="${WORKDIR}/linux-v${PV}-zen${ZEN_VER}.patch"
UNIPATCH_STRICTORDER="yes"
+UNIPATCH_EXCLUDE="1810 2701"
K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
${HOMEPAGE}, also go to #zen-sources on oftc"
src_unpack() {
- unpacker "linux-v${PV}-zen1.patch.zst"
+ unpacker "linux-v${PV}-zen${ZEN_VER}.patch.zst"
kernel-2_src_unpack
}
@@ -45,8 +51,13 @@ pkg_setup() {
kernel-2_pkg_setup
}
+src_prepare() {
+ default
+ kernel-2_src_prepare
+}
+
src_install() {
- rm "${WORKDIR}/linux-v${PV}-zen1.patch" || die
+ rm "${WORKDIR}/linux-v${PV}-zen${ZEN_VER}.patch" || die
kernel-2_src_install
}
diff --git a/sys-kernel/zen-sources/zen-sources-6.18.ebuild b/sys-kernel/zen-sources/zen-sources-6.18.ebuild
deleted file mode 100644
index db994f031097..000000000000
--- a/sys-kernel/zen-sources/zen-sources-6.18.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-ETYPE="sources"
-K_WANT_GENPATCHES="base extras"
-K_GENPATCHES_VER="1"
-K_SECURITY_UNSUPPORTED="1"
-K_NOSETEXTRAVERSION="1"
-K_NODRYRUN="yes"
-
-inherit kernel-2 unpacker
-detect_version
-detect_arch
-
-DESCRIPTION="The Zen Kernel Live Sources"
-HOMEPAGE="https://github.com/zen-kernel"
-
-# Needed for zstd compression of the patch
-BDEPEND="$(unpacker_src_uri_depends)"
-
-ZEN_URI="https://github.com/zen-kernel/zen-kernel/releases/download/v${PV}-zen1/linux-v${PV}-zen1.patch.zst"
-SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${ZEN_URI}"
-
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-UNIPATCH_LIST="${WORKDIR}/linux-v${PV}-zen1.patch"
-UNIPATCH_STRICTORDER="yes"
-
-K_EXTRAEINFO="For more info on zen-sources, and for how to report problems, see: \
-${HOMEPAGE}, also go to #zen-sources on oftc"
-
-src_unpack() {
- unpacker "linux-v${PV}-zen1.patch.zst"
- kernel-2_src_unpack
-}
-
-pkg_setup() {
- ewarn
- ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
- ewarn "If you need support, please contact the zen developers directly."
- ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
- ewarn "the ebuilds. Thank you."
- ewarn
- kernel-2_pkg_setup
-}
-
-src_install() {
- rm "${WORKDIR}/linux-v${PV}-zen1.patch" || die
- kernel-2_src_install
-}
-
-pkg_postrm() {
- kernel-2_pkg_postrm
-}