<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in bpf-ops.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>23acda7c221a76ff711d65f4ca90029d43b249a0 - Merge tag &apos;for-7.1/io_uring-20260411&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux</title>
        <link>http://opengrok.net:8080/history/linux/io_uring/bpf-ops.c#23acda7c221a76ff711d65f4ca90029d43b249a0</link>
        <description>Merge tag &apos;for-7.1/io_uring-20260411&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linuxPull io_uring updates from Jens Axboe: - Add a callback driven main loop for io_uring, and BPF struct_ops   on top to allow implementing custom event loop logic - Decouple IOPOLL from being a ring-wide all-or-nothing setting,   allowing IOPOLL use cases to also issue certain white listed   non-polled opcodes - Timeout improvements. Migrate internal timeout storage from   timespec64 to ktime_t for simpler arithmetic and avoid copying of   timespec data - Zero-copy receive (zcrx) updates:      - Add a device-less mode (ZCRX_REG_NODEV) for testing and        experimentation where data flows through the copy fallback path      - Fix two-step unregistration regression, DMA length calculations,        xarray mark usage, and a potential 32-bit overflow in id        shifting      - Refactoring toward multi-area support: dedicated refill queue        struct, consolidated DMA syncing, netmem array refilling format,        and guard-based locking - Zero-copy transmit (zctx) cleanup:      - Unify io_send_zc() and io_sendmsg_zc() into a single function      - Add vectorized registered buffer send for IORING_OP_SEND_ZC      - Add separate notification user_data via sqe-&gt;addr3 so        notification and completion CQEs can be distinguished without        extra reference counting - Switch struct io_ring_ctx internal bitfields to explicit flag bits   with atomic-safe accessors, and annotate the known harmless races on   those flags - Various optimizations caching ctx and other request fields in local   variables to avoid repeated loads, and cleanups for tctx setup, ring   fd registration, and read path early returns* tag &apos;for-7.1/io_uring-20260411&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (58 commits)  io_uring: unify getting ctx from passed in file descriptor  io_uring/register: don&apos;t get a reference to the registered ring fd  io_uring/tctx: clean up __io_uring_add_tctx_node() error handling  io_uring/tctx: have io_uring_alloc_task_context() return tctx  io_uring/timeout: use &apos;ctx&apos; consistently  io_uring/rw: clean up __io_read() obsolete comment and early returns  io_uring/zcrx: use correct mmap off constants  io_uring/zcrx: use dma_len for chunk size calculation  io_uring/zcrx: don&apos;t clear not allocated niovs  io_uring/zcrx: don&apos;t use mark0 for allocating xarray  io_uring: cast id to u64 before shifting in io_allocate_rbuf_ring()  io_uring/zcrx: reject REG_NODEV with large rx_buf_size  io_uring/cancel: validate opcode for IORING_ASYNC_CANCEL_OP  io_uring/rsrc: use io_cache_free() to free node  io_uring/zcrx: rename zcrx [un]register functions  io_uring/zcrx: check ctrl op payload struct sizes  io_uring/zcrx: cache fallback availability in zcrx ctx  io_uring/zcrx: warn on a repeated area append  io_uring/zcrx: consolidate dma syncing  io_uring/zcrx: netmem array as refiling format  ...

            List of files:
            /linux/io_uring/bpf-ops.c</description>
        <pubDate>Mon, 13 Apr 2026 23:22:30 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>c5e9f6a96bf7379da87df1b852b90527e242b56f - io_uring: unify getting ctx from passed in file descriptor</title>
        <link>http://opengrok.net:8080/history/linux/io_uring/bpf-ops.c#c5e9f6a96bf7379da87df1b852b90527e242b56f</link>
        <description>io_uring: unify getting ctx from passed in file descriptorio_uring_enter() and io_uring_register() end up having duplicated codefor getting a ctx from a passed in file descriptor, for either aregistered ring descriptor or a normal file descriptor. Move theio_uring_register_get_file() into io_uring.c and name it a bit moregenerically, and use it from both callsites rather than have that logicand handling duplicated.Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux/io_uring/bpf-ops.c</description>
        <pubDate>Wed, 08 Apr 2026 17:56:02 +0000</pubDate>
        <dc:creator>Jens Axboe &lt;axboe@kernel.dk&gt;</dc:creator>
    </item>
<item>
        <title>98f37634b12b17ad5c56db8fb63cf9d7dc55d74c - io_uring/bpf-ops: implement bpf ops registration</title>
        <link>http://opengrok.net:8080/history/linux/io_uring/bpf-ops.c#98f37634b12b17ad5c56db8fb63cf9d7dc55d74c</link>
        <description>io_uring/bpf-ops: implement bpf ops registrationImplement BPF struct ops registration. It&apos;s registered off the BPFpath, and can be removed by BPF as well as io_uring. To protect it,introduce a global lock synchronising registration. ctx-&gt;uring_lock canbe nested under it. ctx-&gt;bpf_ops is write protected by both locks andso it&apos;s safe to read it under either of them.Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;Link: https://patch.msgid.link/1f46bffd76008de49cbafa2ad77d348810a4f69e.1772109579.git.asml.silence@gmail.comSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux/io_uring/bpf-ops.c</description>
        <pubDate>Thu, 26 Feb 2026 12:48:41 +0000</pubDate>
        <dc:creator>Pavel Begunkov &lt;asml.silence@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>890819248a8616558fe12e6c06c918ee1c3a2bc6 - io_uring/bpf-ops: add kfunc helpers</title>
        <link>http://opengrok.net:8080/history/linux/io_uring/bpf-ops.c#890819248a8616558fe12e6c06c918ee1c3a2bc6</link>
        <description>io_uring/bpf-ops: add kfunc helpersAdd two kfuncs that should cover most of the needs:1. bpf_io_uring_submit_sqes(), which allows to submit io_uring requests.   It mirrors the normal user space submission path and follows all   related io_uring_enter(2) rules. i.e. SQEs are taken from the SQ   according to head/tail values. In case of IORING_SETUP_SQ_REWIND,   it&apos;ll submit first N entries.2. bpf_io_uring_get_region() returns a pointer to the specified region,   where io_uring regions are kernel-userspace shared chunks of memory.   It takes the size as an argument, which should be a load time   constant. There are 3 types of regions:   - IOU_REGION_SQ returns the submission queue.   - IOU_REGION_CQ stores the CQ, SQ/CQ headers and the sqarray. In     other words, it gives same memory that would normally be mmap&apos;ed     with IORING_FEAT_SINGLE_MMAP enabled IORING_OFF_SQ_RING.   - IOU_REGION_MEM represents the memory / parameter region. It can be     used to store request indirect parameters and for kernel - user     communication.It intentionally provides a thin but flexible API and expects BPFprograms to implement CQ/SQ header parsing, CQ walking, etc. Thatmirrors how the normal user space works with rings and should helpto minimise kernel / kfunc helpers changes while introducing new genericio_uring features.Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;Link: https://patch.msgid.link/967bcc10e94c796eb273998621551b2a21848cde.1772109579.git.asml.silence@gmail.comSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux/io_uring/bpf-ops.c</description>
        <pubDate>Thu, 26 Feb 2026 12:48:40 +0000</pubDate>
        <dc:creator>Pavel Begunkov &lt;asml.silence@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d0e437b76bd3c979ddaa6205f5e9ad3e0f95faef - io_uring/bpf-ops: implement loop_step with BPF struct_ops</title>
        <link>http://opengrok.net:8080/history/linux/io_uring/bpf-ops.c#d0e437b76bd3c979ddaa6205f5e9ad3e0f95faef</link>
        <description>io_uring/bpf-ops: implement loop_step with BPF struct_opsIntroduce io_uring BPF struct ops implementing the loop_step callback,which will allow BPF to overwrite the default io_uring event loop logic.The callback takes an io_uring context, the main role of which is to bepassed to io_uring kfuncs. The other argument is a struct iou_loop_params,which BPF can use to request CQ waiting and communicate other parameters.See the event loop description in the previous patch for more details.Signed-off-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt;Link: https://patch.msgid.link/98db437651ce64e9cbeb611c60bf5887259db09f.1772109579.git.asml.silence@gmail.comSigned-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;

            List of files:
            /linux/io_uring/bpf-ops.c</description>
        <pubDate>Thu, 26 Feb 2026 12:48:39 +0000</pubDate>
        <dc:creator>Pavel Begunkov &lt;asml.silence@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
