History

Merge tag 'for-6.12/io_uring-20240922' of git://git.kernel.dk/linux

Pull more io_uring updates from Jens Axboe: "Mostly just a set of fixes in here, or little changes that didn't get included in the initial pull request. This contains: - Move the SQPOLL napi polling outside the submission lock (Olivier) - Rename of the "copy buffers" API that got added in the 6.12 merge window. There's really no copying going on, it's just referencing the buffers. After a bit of consideration, decided that it was better to simply rename this to avoid potential confusion (me) - Shrink struct io_mapped_ubuf from 48 to 32 bytes, by changing it to start + len tracking rather than having start / end in there, and by removing the caching of folio_mask when we can just calculate it from folio_shift when we need it (me) - Fixes for the SQPOLL affinity checking (me, Felix) - Fix for how cqring waiting checks for the presence of task_work. Just check it directly rather than check for a specific notification mechanism (me) - Tweak to how request linking is represented in tracing (me) - Fix a syzbot report that deliberately sets up a huge list of overflow entries, and then hits rcu stalls when flushing this list. Just check for the need to preempt, and drop/reacquire locks in the loop. There's no state maintained over the loop itself, and each entry is yanked from head-of-list (me)" * tag 'for-6.12/io_uring-20240922' of git://git.kernel.dk/linux: io_uring: check if we need to reschedule during overflow flush io_uring: improve request linking trace io_uring: check for presence of task_work rather than TIF_NOTIFY_SIGNAL io_uring/sqpoll: do the napi busy poll outside the submission block io_uring: clean up a type in io_uring_register_get_file() io_uring/sqpoll: do not put cpumask on stack io_uring/sqpoll: retain test for whether the CPU is valid io_uring/rsrc: change ubuf->ubuf_end to length tracking io_uring/rsrc: get rid of io_mapped_ubuf->folio_mask io_uring: rename "copy buffers" to "clone buffers"

Linus Torvalds committed 2 years ago

Commit 3147a062 parents 172d513 eac2ca28 files · +55 −35Browse files

Showing the changes to include/uapi/linux (1 of 8 files). Show all

Unified · Split

include/uapi/linux/io_uring.h+3−3
@@ -609,8 +609,8 @@ enum io_uring_register_op { · 608 unmodified lines
609609
610610 IORING_REGISTER_CLOCK = 29,
611611
612− /* copy registered buffers from source ring to current ring */
613− IORING_REGISTER_COPY_BUFFERS = 30,
612+ /* clone registered buffers from source ring to current ring */
613+ IORING_REGISTER_CLONE_BUFFERS = 30,
614614
615615 /* this goes last */
616616 IORING_REGISTER_LAST,
@@ -701,7 +701,7 @@ enum { · 84 unmodified lines
701701 IORING_REGISTER_SRC_REGISTERED = 1,
702702 };
703703
704−struct io_uring_copy_buffers {
704+struct io_uring_clone_buffers {
705705 __u32 src_fd;
706706 __u32 flags;
707707 __u32 pad[6];