From ffd4e943b953b76821fea8859bfed4c5a8691955 Mon Sep 17 00:00:00 2001 From: wangmy Date: Mon, 11 Jul 2022 16:45:15 +0800 Subject: [PATCH] liburing: upgrade 2.1 -> 2.2 0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch removed since it's included in 2.2. License-Update: Add "kernel version dependency" Add affect of "ulimit settings" Changelog: =========== - Support non-libc builds. - Optimized syscall handling for x86-64/x86/aarch64. - Enable non-lib function calls for fast path functions. - Add support for multishot accept. - io_uring_register_files() will set RLIMIT_NOFILE if necessary. - Add support for registered ring fds, io_uring_register_ring_fd(), reducingthe overhead of an io_uring_enter() system call. - Add support for the message ring opcode. - Add support for newer request cancelation features. - Add support for IORING_SETUP_COOP_TASKRUN, which can help reduce the overhead of io_uring in general. Most applications should set this flag, see the io_uring_setup.2 man page for details. - Add support for registering a sparse buffer and file set. - Add support for a new buffer provide scheme, see io_uring_register_buf_ring.3 for details. - Add io_uring_submit_and_wait_timeout() for submitting IO and waiting for completions with a timeout. - Add io_uring_prep_{read,write}v2 prep helpers. - Add io_uring_prep_close_direct() helper. - Add support for SQE128 and CQE32, which are doubly sized SQE and CQE rings. This is needed for some cases of the new IORING_OP_URING_CMD, notably for NVMe passthrough. - ~5500 lines of man page additions, including adding ~90 new man pages. - Synced with the 5.19 kernel release, supporting all the features of 5.19 and earlier. - 24 new regression test cases, and ~7000 lines of new tests in general. - General optimizations and fixes. Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- ...-wrappers-instead-of-using-syscall-2.patch | 59 ------------------- .../{liburing_2.1.bb => liburing_2.2.bb} | 8 +-- 2 files changed, 3 insertions(+), 64 deletions(-) delete mode 100644 meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch rename meta-oe/recipes-support/liburing/{liburing_2.1.bb => liburing_2.2.bb} (81%) diff --git a/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch b/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch deleted file mode 100644 index 2777a94045..0000000000 --- a/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch +++ /dev/null @@ -1,59 +0,0 @@ -From cb350a8989adbd65db574325d9a86d5437d800da Mon Sep 17 00:00:00 2001 -From: Guillem Jover -Date: Mon, 13 Sep 2021 23:56:08 +0200 -Subject: [PATCH] test: Use syscall wrappers instead of using syscall(2) directly - -Some of these syscalls have different entry points depending on the -architecture. Use the wrappers to avoid having to reimplement them -portably. - -Fixes build failures on Debian armel and armhf builds. - -Upstream-Status: Backport [https://github.com/kraj/liburing/commit/cb350a8989adbd65db574325d9a86d5437d800da] -Signed-off-by: Guillem Jover ---- - test/sqpoll-cancel-hang.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/test/sqpoll-cancel-hang.c b/test/sqpoll-cancel-hang.c -index c9032c8..e561478 100644 ---- a/test/sqpoll-cancel-hang.c -+++ b/test/sqpoll-cancel-hang.c -@@ -4,7 +4,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -29,8 +28,6 @@ static uint64_t current_time_ms(void) - - #define IORING_OFF_SQES 0x10000000ULL - --#define sys_io_uring_setup 425 -- - static void kill_and_wait(int pid, int* status) - { - kill(-pid, SIGKILL); -@@ -53,7 +50,7 @@ a5) - void* vma2 = (void*)a3; - void** ring_ptr_out = (void**)a4; - void** sqes_ptr_out = (void**)a5; -- uint32_t fd_io_uring = syscall(sys_io_uring_setup, entries, setup_params); -+ uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params); - uint32_t sq_ring_sz = setup_params->sq_off.array + - setup_params->sq_entries * sizeof(uint32_t); - uint32_t cq_ring_sz = setup_params->cq_off.cqes + -@@ -135,7 +132,7 @@ void trigger_bug(void) - } - int main(void) - { -- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); -+ mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); - int pid = fork(); - if (pid < 0) - exit(1); --- -2.33.1 - diff --git a/meta-oe/recipes-support/liburing/liburing_2.1.bb b/meta-oe/recipes-support/liburing/liburing_2.2.bb similarity index 81% rename from meta-oe/recipes-support/liburing/liburing_2.1.bb rename to meta-oe/recipes-support/liburing/liburing_2.2.bb index da8e6d3338..8cc7d74f9f 100644 --- a/meta-oe/recipes-support/liburing/liburing_2.1.bb +++ b/meta-oe/recipes-support/liburing/liburing_2.2.bb @@ -7,14 +7,12 @@ BUGTRACKER = "https://github.com/axboe/liburing/issues" SECTION = "libs" LICENSE = "LGPL-2.1-only | MIT" -LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" +LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af" -SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ - file://0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch \ - " +SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https" SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch " SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch " -SRCREV = "41a61c97c2e3df4475c93fdf5026d575ce3f1377" +SRCREV = "dda4848a9911120a903bef6284fb88286f4464c9" S = "${WORKDIR}/git"