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 <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
wangmy 2022-07-11 16:45:15 +08:00 committed by Khem Raj
parent 4b00f21f16
commit ffd4e943b9
2 changed files with 3 additions and 64 deletions

View File

@ -1,59 +0,0 @@
From cb350a8989adbd65db574325d9a86d5437d800da Mon Sep 17 00:00:00 2001
From: Guillem Jover <guillem@hadrons.org>
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 <guillem@hadrons.org>
---
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 <stdlib.h>
#include <string.h>
#include <sys/mman.h>
-#include <sys/syscall.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
@@ -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

View File

@ -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"