mirror-linux/include/uapi/linux
Keith Busch 1cba30bf9f io_uring: add support for IORING_SETUP_SQE_MIXED
Normal rings support 64b SQEs for posting submissions, while certain
features require the ring to be configured with IORING_SETUP_SQE128, as
they need to convey more information per submission. This, in turn,
makes ALL the SQEs be 128b in size. This is somewhat wasteful and
inefficient, particularly when only certain SQEs need to be of the
bigger variant.

This adds support for setting up a ring with mixed SQE sizes, using
IORING_SETUP_SQE_MIXED. When setup in this mode, SQEs posted to the ring
may be either 64b or 128b in size. If a SQE is 128b in size, then opcode
will be set to a variante to indicate that this is the case. Any other
non-128b opcode will assume the SQ's default size.

SQEs on these types of mixed rings may also utilize NOP with skip
success set.  This can happen if the ring is one (small) SQE entry away
from wrapping, and an attempt is made to get a 128b SQE. As SQEs must be
contiguous in the SQ ring, a 128b SQE cannot wrap the ring. For this
case, a single NOP SQE should be inserted with the SKIP_SUCCESS flag
set. The kernel will process this as a normal NOP and without posting a
CQE.

Signed-off-by: Keith Busch <kbusch@kernel.org>
[axboe: {} style fix and assign sqe before opcode read]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-10-22 07:34:57 -06:00
..
android rust_binder: add Rust Binder driver 2025-09-19 09:40:46 +02:00
byteorder
caif
can can: netlink: document which symbols are FD specific 2025-09-24 17:09:44 +02:00
cifs
counter
dvb
genwqe
hdlc
hsi
iio iio: add power and energy measurement modifiers 2025-09-13 13:47:19 +01:00
io_uring io_uring: introduce io_uring querying 2025-09-08 08:06:37 -06:00
isdn
media media: pisp_be: Use clamp() and define max sizes 2025-07-03 09:25:01 +02:00
misc
mmc
netfilter netfilter: nft_meta_bridge: introduce NFT_META_BRI_IIFHWADDR support 2025-09-11 15:40:55 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: keep recovery_cp in mdp_superblock_s 2025-08-16 08:47:38 +08:00
sched
spi
sunrpc
surface_aggregator
tc_act
tc_ematch
usb
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h media: aspeed: Allow to capture from SoC display (GFX) 2025-08-29 11:04:02 +02:00
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: add record for multiple object contexts 2025-08-30 10:15:30 -04:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h uapi: bitops: use UAPI-safe variant of BITS_PER_LONG again (2) 2025-07-08 10:23:13 -04:00
blk-crypto.h
blkdev.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h bpf: Finish constification of 1st parameter of bpf_d_path() 2025-10-04 09:05:23 -07:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: defrag: add flag to force no-compression 2025-07-22 01:13:03 +02:00
btrfs_tree.h
cachefiles.h
can.h
capability.h uapi: fix broken link in linux/capability.h 2025-07-04 19:21:53 -05:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h
coredump.h coredump: allow for flexible coredump handling 2025-06-12 14:00:18 +02:00
coresight-stm.h
counter.h
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Make health reporter burst period configurable 2025-08-26 17:24:16 -07:00
dlm.h
dlm_device.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dpll.h dpll: add phase-offset-avg-factor device attribute to netlink spec 2025-09-29 18:57:41 -07:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
errno.h
errqueue.h
erspan.h
ethtool.h net: ethtool: support including Flow Label in the flow hash for RSS 2025-08-14 11:40:13 +02:00
ethtool_netlink.h netlink: specs: add the multicast group name to spec 2025-06-25 15:24:13 -07:00
ethtool_netlink_generated.h Revert "Documentation: net: add flow control guide and document ethtool API" 2025-10-01 09:48:21 +02:00
eventfd.h
eventpoll.h
exfat.h
ext4.h ext4: implemet new ioctls to set and get superblock parameters 2025-09-26 08:36:08 -04:00
f2fs.h
fadvise.h
falloc.h fs: introduce FALLOC_FL_WRITE_ZEROES to fallocate 2025-06-23 12:45:13 +02:00
fanotify.h
fb.h
fcntl.h nsfs: support exhaustive file handles 2025-09-19 14:26:16 +02:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h Add RWF_NOSIGNAL flag for pwritev2 2025-08-29 15:08:07 +02:00
fscrypt.h
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: add prune notification 2025-09-05 09:11:28 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h
gtp.h
handshake.h net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING' 2025-07-08 15:31:44 +02:00
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h HID: hidraw: tighten ioctl command parsing 2025-09-17 11:37:23 +02:00
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h i2c: Clarify behavior of I2C_M_RD flag 2025-07-14 09:15:58 +02:00
i2o-dev.h
i8k.h hwmon: (dell-smm) Add support for automatic fan mode 2025-09-24 07:50:09 -07:00
icmp.h
icmpv6.h
idxd.h
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h net: bridge: Introduce UAPI for BR_BOOLOPT_FDB_LOCAL_VLAN_0 2025-09-11 19:02:50 -07:00
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h rtnetlink: add needed_{head,tail}room attributes 2025-09-19 17:21:55 -07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h tun: enable gso over UDP tunnel support. 2025-07-08 18:07:26 +02:00
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h net: xsk: introduce XDP_MAX_TX_SKB_BUDGET setsockopt 2025-07-10 14:48:29 +02:00
ife.h
igmp.h
ila.h
in.h
in6.h uapi: in6: restore visibility of most IPv6 socket options 2025-06-10 14:41:14 -07:00
in_route.h
inet_diag.h
inotify.h
input-event-codes.h Input: add INPUT_PROP_HAPTIC_TOUCHPAD 2025-09-15 14:32:54 +02:00
input.h Input: add FF_HAPTIC effect type 2025-09-15 14:32:54 +02:00
io_uring.h io_uring: add support for IORING_SETUP_SQE_MIXED 2025-10-22 07:34:57 -06:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioctl.h
iommufd.h iommufd: Destroy vdevice on idevice destroy 2025-07-18 17:33:08 -03:00
ioprio.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h
ipv6.h ipv6: add `force_forwarding` sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h media: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h x86/kexec: carry forward the boot DTB on kexec 2025-09-13 17:32:43 -07:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: Fix two comments in kfd_ioctl.h 2025-10-07 14:09:19 -04:00
kfd_sysfs.h
kvm.h KVM: guest_memfd: Add INIT_SHARED flag, reject user page faults if not set 2025-10-10 14:25:23 -07:00
kvm_para.h
l2tp.h
landlock.h
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
lockd_netlink.h
loop.h
lp.h
lsm.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: add gateway routing support 2025-07-08 12:39:24 +02:00
mdio.h
media-bus-format.h
media.h
mei.h
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h mempolicy: clarify what zone reclaim means 2025-09-13 16:54:41 -07:00
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h
mpls.h
mpls_iptunnel.h
mptcp.h mptcp: pm: in-kernel: add laminar endpoints 2025-09-26 17:44:05 -07:00
mptcp_pm.h mptcp: pm: netlink: only add server-side attr when true 2025-09-22 11:51:24 -07:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mshv.h
mtio.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h neighbor: Add NTF_EXT_VALIDATED flag for externally validated entries 2025-06-30 18:14:23 -07:00
net.h
net_dropmon.h uapi: net_dropmon: drop unused is_drop_point_hw macro 2025-06-25 15:35:20 -07:00
net_namespace.h
net_shaper.h
net_tstamp.h
netconf.h ipv6: add `force_forwarding` sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
netdev.h net: define an enum for the napi threaded state 2025-07-24 18:34:55 -07:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink_diag.h
netrom.h
nexthop.h
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: cfg80211: correctly implement and validate S1G chandef 2025-09-19 11:55:56 +02:00
npcm-video.h
nsfs.h nsfs: add inode number for anon namespace 2025-09-19 14:26:18 +02:00
nsm.h
ntsync.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: allow providing upcall pid for the 'execute' command 2025-07-07 14:30:39 -07:00
ovpn.h
packet_diag.h
papr_pdsm.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/capability-search' 2025-10-03 12:13:14 -05:00
pcitest.h misc: pci_endpoint_test: Add doorbell test case 2025-07-24 16:51:46 -05:00
perf_event.h
personality.h
pfkeyv2.h
pfrut.h ACPI: pfr_update: Fix the driver update version check 2025-08-20 15:30:36 +02:00
pg.h
phantom.h
phonet.h
pidfd.h uapi/fcntl: mark range as reserved 2025-06-24 15:50:06 +02:00
pkt_cls.h
pkt_sched.h sched: Dump configuration and statistics of dualpi2 qdisc 2025-07-23 17:52:07 -07:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pps_gen.h
pr.h
prctl.h mm/huge_memory: respect MADV_COLLAPSE with PR_THP_DISABLE_EXCEPT_ADVISED 2025-09-13 16:55:05 -07:00
psample.h
psci.h
psp-dbc.h
psp-sev.h crypto: ccp - New bit-field definitions for SNP_PLATFORM_STATUS command 2025-08-16 17:20:23 +08:00
psp-sfs.h crypto: ccp - Add AMD Seamless Firmware Servicing (SFS) driver 2025-09-17 12:17:05 +02:00
psp.h net: psp: add socket security association code 2025-09-18 12:32:06 +02:00
ptp_clock.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-09-25 11:00:59 -07:00
ptrace.h
pwm.h pwm: Add support for pwmchip devices for faster and easier userspace access 2025-07-07 08:39:33 +02:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
remoteproc_cdev.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rockchip: rkisp1: Add support for Wide Dynamic Range 2025-06-18 09:21:58 +02:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serio.h
sev-guest.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h tcp: add LINUX_MIB_BEYOND_WINDOW 2025-07-14 18:41:42 -07:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h uapi: wrap compiler_types.h in an ifdef instead of the implicit strip 2025-08-28 13:06:48 +02:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h ipv6: add `force_forwarding` sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
sysinfo.h
target_core_user.h
taskstats.h
tcp.h tcp: accecn: AccECN option failure handling 2025-09-18 08:47:52 +02:00
tcp_metrics.h
tdx-guest.h
tee.h tee: add Qualcomm TEE driver 2025-09-15 17:34:06 +02:00
termios.h
thermal.h
thp7312.h
time.h time: Introduce auxiliary POSIX clocks 2025-06-19 14:28:22 +02:00
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
trace_mmap.h
tty.h
tty_flags.h
types.h
ublk_cmd.h ublk: allow UBLK_IO_(UN)REGISTER_IO_BUF on any task 2025-06-30 20:13:42 -06:00
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: uapi: v4l2-controls: Cleanup codec definitions 2025-09-04 10:37:05 +02:00
v4l2-dv-timings.h media: update Hans Verkuil's email address 2025-09-09 15:58:44 +02:00
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h uapi: vduse: fix typo in comment 2025-09-21 17:44:20 -04:00
vesa.h
veth.h
vfio.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-05 15:41:14 -06:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost: Fix ioctl # for VHOST_[GS]ET_FORK_FROM_OWNER 2025-08-26 03:38:19 -04:00
vhost_types.h vhost-net: allow configuring extended features 2025-07-08 18:05:23 +02:00
videodev2.h media: include: update Hans Verkuil's email address 2025-09-09 15:58:56 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_bt.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h
virtio_i2c.h
virtio_ids.h virtio: Add ID for virtio SPI 2025-09-22 09:29:28 +01:00
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h net: implement virtio helpers to handle UDP GSO tunneling. 2025-07-08 18:05:47 +02:00
virtio_pci.h
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_rtc.h virtio_rtc: Add RTC class driver 2025-05-27 10:27:54 -04:00
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_spi.h virtio-spi: Add virtio-spi.h 2025-09-22 09:29:29 +01:00
virtio_types.h
virtio_vsock.h
vm_sockets.h vsock/uapi: fix linux/vm_sockets.h userspace compilation errors 2025-06-24 17:12:59 -07:00
vm_sockets_diag.h
vmclock-abi.h
vmcore.h
vsockmon.h
vt.h Revert "tty: vt: use _IO() to define ioctl numbers" 2025-08-01 10:42:22 +02:00
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h wireguard: allowedips: add WGALLOWEDIP_F_REMOVE_ME flag 2025-05-27 09:06:19 +02:00
wireless.h
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h