| From 79af9bd6ac1040f1fe3c6cab26b2d040ad907870 Mon Sep 17 00:00:00 2001 |
| From: Changqing Li <changqing.li@windriver.com> |
| Date: Fri, 1 Mar 2024 15:46:11 +0800 |
| Subject: [PATCH] deps: disable io_uring support in libuv |
| |
| Refer [1], Pseudo fails to intercept some of the syscalls when io_uring |
| enabled. Refer [2], always disable io_uring support in libuv to fix |
| issue in [1]. |
| |
| [1] https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88 |
| [2] https://github.com/nodejs/node/commit/686da19abb |
| |
| Upstream-Status: Inappropriate [oe specific] |
| |
| Signed-off-by: Changqing Li <changqing.li@windriver.com> |
| Signed-off-by: Martin Jansa <martin.jansa@gmail.com> |
| |
| Updated by Jason Schonberg <schonm@gamil.com> August 1, 2025 for nodejs 22.18.0 |
| which uses libuv 1.51.0 |
| --- |
| deps/uv/src/unix/linux.c | 29 +---------------------------- |
| 1 file changed, 1 insertion(+), 28 deletions(-) |
| |
| diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c |
| --- a/deps/uv/src/unix/linux.c |
| +++ b/deps/uv/src/unix/linux.c |
| @@ -465,36 +465,7 @@ |
| /* See https://github.com/libuv/libuv/issues/4283. */ |
| return 0; /* Random SIGSEGV in signal handler. */ |
| #else |
| - /* Ternary: unknown=0, yes=1, no=-1 */ |
| - static _Atomic int use_io_uring; |
| - char* val; |
| - int use; |
| - |
| -#if defined(__hppa__) |
| - /* io_uring first supported on parisc in 6.1, functional in .51 |
| - * https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ |
| - */ |
| - if (uv__kernel_version() < /*6.1.51*/0x060133) |
| - return 0; |
| -#endif |
| - |
| - /* SQPOLL is all kinds of buggy but epoll batching should work fine. */ |
| - if (0 == (flags & UV__IORING_SETUP_SQPOLL)) |
| - return 1; |
| - |
| - /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ |
| - if (uv__kernel_version() < /*5.10.186*/0x050ABA) |
| - return 0; |
| - |
| - use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); |
| - |
| - if (use == 0) { |
| - val = getenv("UV_USE_IO_URING"); |
| - use = val != NULL && atoi(val) > 0 ? 1 : -1; |
| - atomic_store_explicit(&use_io_uring, use, memory_order_relaxed); |
| - } |
| - |
| - return use > 0; |
| +return 0; /* pseudo doesn't support io_uring https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 */ |
| #endif |
| } |
| |
| |