Go to file
Jeff Moyer a454ee1f2f io_uring: add support for user mapped provided buffer ring
JIRA: https://issues.redhat.com/browse/RHEL-12076

commit c56e022c0a27142b7b59ae6bdf45f86bf4b298a1
Author: Jens Axboe <axboe@kernel.dk>
Date:   Tue Mar 14 11:07:19 2023 -0600

    io_uring: add support for user mapped provided buffer ring
    
    The ring mapped provided buffer rings rely on the application allocating
    the memory for the ring, and then the kernel will map it. This generally
    works fine, but runs into issues on some architectures where we need
    to be able to ensure that the kernel and application virtual address for
    the ring play nicely together. This at least impacts architectures that
    set SHM_COLOUR, but potentially also anyone setting SHMLBA.
    
    To use this variant of ring provided buffers, the application need not
    allocate any memory for the ring. Instead the kernel will do so, and
    the allocation must subsequently call mmap(2) on the ring with the
    offset set to:
    
            IORING_OFF_PBUF_RING | (bgid << IORING_OFF_PBUF_SHIFT)
    
    to get a virtual address for the buffer ring. Normally the application
    would allocate a suitable piece of memory (and correctly aligned) and
    simply pass that in via io_uring_buf_reg.ring_addr and the kernel would
    map it.
    
    Outside of the setup differences, the kernel allocate + user mapped
    provided buffer ring works exactly the same.
    
    Acked-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-11-02 15:31:28 -04:00
Documentation io_uring: add io_uring_group sysctl 2023-11-02 15:28:57 -04:00
LICENSES
arch Merge: Powerpc GPCI PMU enhancements 2023-10-30 15:41:53 -04:00
block iov_iter: add iter_iovec() helper 2023-11-02 15:31:27 -04:00
certs KEYS: DigitalSignature link restriction 2023-05-27 08:41:17 +08:00
crypto crypto: kmsan: disable accelerated configs under KMSAN 2023-10-20 06:14:39 -04:00
drivers IB/qib: check for user backed iterator, not specific iterator type 2023-11-02 15:31:27 -04:00
fs fs: add FMODE_DIO_PARALLEL_WRITE flag 2023-11-02 15:31:27 -04:00
include io_uring: add support for user mapped provided buffer ring 2023-11-02 15:31:28 -04:00
init cachestat: implement cachestat syscall 2023-10-20 06:16:07 -04:00
io_uring io_uring: add support for user mapped provided buffer ring 2023-11-02 15:31:28 -04:00
ipc ipc/shm: call underlying open/close vm_ops 2023-06-14 15:11:04 -06:00
kernel Merge: 9.4 mm changes 2023-10-25 11:39:20 -04:00
lib iov_iter: add iter_iovec() helper 2023-11-02 15:31:27 -04:00
mm iov_iter: add iter_iov_addr() and iter_iov_len() helpers 2023-11-02 15:31:27 -04:00
net Merge: RHEL-9.4 P1 IPv6 stable backport 2023-10-30 15:41:53 -04:00
redhat [redhat] kernel-5.14.0-381.el9 2023-10-30 16:08:30 -04:00
samples samples/bpf: Fix fout leak in hbm's run_bpf_prog 2023-09-22 09:12:37 +02:00
scripts scripts: fix the gfp flags header path in gfp-translate 2023-10-20 06:16:06 -04:00
security security: kmsan: fix interoperability with auto-initialization 2023-10-20 06:14:40 -04:00
sound ALSA: pcm: check for user backed iterator, not specific iterator type 2023-11-02 15:31:27 -04:00
tools Merge: Powerpc GPCI PMU enhancements 2023-10-30 15:41:53 -04:00
usr
virt Merge: KVM: aarch64: Rebase up to v6.5 (first round) 2023-10-11 13:28:06 -04:00
.clang-format PCI: Introduce pci_dev_for_each_resource() 2023-09-05 09:16:40 -06:00
.cocciconfig
.get_maintainer.conf
.get_maintainer.ignore
.gitattributes
.gitignore
.gitlab-ci.yml CI: Remove -rt suffix from kpet_tree_name values 2023-10-23 19:00:56 +03:00
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
Kconfig.redhat
MAINTAINERS Merge: 9.4 mm changes 2023-10-25 11:39:20 -04:00
Makefile kmsan: add KMSAN runtime core 2023-10-20 06:14:34 -04:00
Makefile.rhelver [redhat] kernel-5.14.0-381.el9 2023-10-30 16:08:30 -04:00
README
makefile

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.