commit:     3331727427deec8acf5ce5826ede0e835259fc3e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 26 23:47:45 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 23:47:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33317274

dev-libs/libuv: add hppa patch to 1.47.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../libuv/files/libuv-1.47.0-hppa-kernel.patch     | 32 ++++++++++++++++++++++
 ...{libuv-1.47.0.ebuild => libuv-1.47.0-r1.ebuild} |  1 +
 2 files changed, 33 insertions(+)

diff --git a/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch 
b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
new file mode 100644
index 000000000000..1871ae221395
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
@@ -0,0 +1,32 @@
+https://github.com/libuv/libuv/commit/f1444293652cf5478a67b9305271d73ad6d36232
+
+From f1444293652cf5478a67b9305271d73ad6d36232 Mon Sep 17 00:00:00 2001
+From: matoro <12038583+mat...@users.noreply.github.com>
+Date: Wed, 15 Nov 2023 17:57:06 -0500
+Subject: [PATCH] linux: disable io_uring on hppa below kernel 6.1.51 (#4224)
+
+First kernel with support is 6.1, was only fully functional from .51
+onwards: 
https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526...@gmx.de/
+
+Co-authored-by: matoro <mat...@users.noreply.github.com>
+--- a/src/unix/linux.c
++++ b/src/unix/linux.c
+@@ -487,8 +487,16 @@ static int uv__use_io_uring(void) {
+   use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
+ 
+   if (use == 0) {
++    use = uv__kernel_version() >=
++#if defined(__hppa__)
++    /* io_uring first supported on parisc in 6.1, functional in .51 */
++    /* 
https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526...@gmx.de/ */
++    /* 6.1.51 */ 0x060133
++#else
+     /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */
+-    use = uv__kernel_version() >= /* 5.10.186 */ 0x050ABA ? 1 : -1;
++    /* 5.10.186 */ 0x050ABA
++#endif
++    ? 1 : -1;
+ 
+     /* But users can still enable it if they so desire. */
+     val = getenv("UV_USE_IO_URING");
+

diff --git a/dev-libs/libuv/libuv-1.47.0.ebuild 
b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
similarity index 96%
rename from dev-libs/libuv/libuv-1.47.0.ebuild
rename to dev-libs/libuv/libuv-1.47.0-r1.ebuild
index 34862127937a..879df48c159f 100644
--- a/dev-libs/libuv/libuv-1.47.0.ebuild
+++ b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
@@ -26,6 +26,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${P}-ipv6-tests.patch
+       "${FILESDIR}"/${P}-hppa-kernel.patch
 )
 
 src_prepare() {

Reply via email to