twx-linux/include/linux
Christoph Lameter (Ampere) d0dd066a0f seqcount: replace smp_rmb() in read_seqcount() with load acquire
Many architectures support load acquire which can replace a memory
barrier and save some cycles.

A typical sequence

	do {
		seq = read_seqcount_begin(&s);
		<something>
	} while (read_seqcount_retry(&s, seq);

requires 13 cycles on an N1 Neoverse arm64 core (Ampere Altra, to be
specific) for an empty loop.  Two read memory barriers are needed.  One
for each of the seqcount_* functions.

We can replace the first read barrier with a load acquire of the
seqcount which saves us one barrier.

On the Altra doing so reduces the cycle count from 13 to 8.

According to ARM, this is a general improvement for the ARM64
architecture and not specific to a certain processor.

See

  https://developer.arm.com/documentation/102336/0100/Load-Acquire-and-Store-Release-instructions

 "Weaker ordering requirements that are imposed by Load-Acquire and
  Store-Release instructions allow for micro-architectural
  optimizations, which could reduce some of the performance impacts that
  are otherwise imposed by an explicit memory barrier.

  If the ordering requirement is satisfied using either a Load-Acquire
  or Store-Release, then it would be preferable to use these
  instructions instead of a DMB"

[ NOTE! This is my original minimal patch that unconditionally switches
  over to using smp_load_acquire(), instead of the much more involved
  and subtle patch that Christoph Lameter wrote that made it
  conditional.

  But Christoph gets authorship credit because I had initially thought
  that we needed the more complex model, and Christoph ran with it it
  and did the work. Only after looking at code generation for all the
  relevant architectures, did I come to the conclusion that nobody
  actually really needs the old "smp_rmb()" model.

  Even architectures without load-acquire support generally do as well
  or better with smp_load_acquire().

  So credit to Christoph, but if this then causes issues on other
  architectures, put the blame solidly on me.

  Also note as part of the ruthless simplification, this gets rid of the
  overly subtle optimization where some code uses a non-barrier version
  of the sequence count (see the __read_seqcount_begin() users in
  fs/namei.c). They then play games with their own barriers and/or with
  nested sequence counts.

  Those optimizations are literally meaningless on x86, and questionable
  elsewhere. If somebody can show that they matter, we need to re-do
  them more cleanly than "use an internal helper".       - Linus ]

Signed-off-by: Christoph Lameter (Ampere) <cl@gentwo.org>
Link: https://lore.kernel.org/all/20240912-seq_optimize-v3-1-8ee25e04dffa@gentwo.org/
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-09-22 13:35:36 -07:00
..
amba ARM: 9416/1: amba: make amba_bustype constant 2024-09-04 15:01:17 +01:00
atomic
avf
bcma
bus
byteorder
can
cdx
ceph
clk
comedi
crush
decompress xz: switch from public domain to BSD Zero Clause License (0BSD) 2024-09-01 20:43:24 -07:00
device
dma
dsa
extcon
firmware firmware: imx: remove duplicate scmi_imx_misc_ctrl_get() 2024-09-11 08:55:35 +00:00
fpga
framer
fsl
gpio
greybus
habanalabs
hsi
i3c
iio
input
io_uring io_uring/cmd: give inline space in request to cmds 2024-09-11 10:44:10 -06:00
irqchip irqchip/riscv-imsic: Add ACPI support 2024-08-27 15:48:36 +02:00
isdn
lockd
mailbox
mdio
mfd pwm: Changes for v6.12-rc1 2024-09-18 10:39:35 +02:00
misc
mlx4
mlx5 net/mlx5: Add NOT_READY command return status 2024-09-12 20:50:29 -07:00
mmc Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
mtd mtd: spinand: Add support for setting plane select bits 2024-09-09 11:52:06 +02:00
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
power
pse-pd
pwrseq
qat
qed
raid
regulator regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR 2024-08-30 15:43:52 +01:00
remoteproc
reset
rpmsg
rtc
sched sched_ext: Initial pull request for v6.12 2024-09-21 09:44:57 -07:00
soc soc: qcom: pmic_glink: Fix race during initialization 2024-08-21 08:37:30 -05:00
soundwire soundwire: intel: increase maximum number of links 2024-08-19 12:25:53 +01:00
spi spi: remove spi_controller_is_slave() and spi_slave_abort() 2024-09-10 12:41:42 +01:00
ssb
sunrpc
surface_aggregator
ulpi
unaligned
usb
8250_pci.h
acct.h
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h clocksource: acpi_pm: Add external callback for suspend/resume 2024-09-06 14:49:20 +02:00
acpi_viot.h
acpi.h platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
alloc_tag.h mm/codetag: add pgalloc_tag_copy() 2024-09-09 16:39:18 -07:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h
anon_inodes.h
aperture.h
apm_bios.h
apm-emulation.h
apple-gmux.h
arch_topology.h
args.h lsm: count the LSMs enabled at compile time 2024-08-22 12:23:47 -04:00
arm_ffa.h firmware: arm_ffa: Add support for FFA_MSG_SEND_DIRECT_{REQ,RESP}2 2024-08-20 15:40:44 +01:00
arm_sdei.h
arm-cci.h
arm-smccc.h arm64: smccc: Reserve block of KVM "vendor" services for pKVM hypercalls 2024-08-30 16:30:41 +01:00
armada-37xx-rwtm-mailbox.h
array_size.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel-isc-media.h
atmel-ssc.h
atomic.h
attribute_container.h
audit_arch.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h
backing-file.h
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio-integrity.h
bio.h block: rework bio splitting 2024-08-29 04:32:32 -06:00
bit_spinlock.h
bitfield.h
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h block,lsm: add LSM blob and new LSM hooks for block devices 2024-08-20 14:02:33 -04:00
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blkdev.h for-6.12/block-20240913 2024-09-16 13:33:06 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf_crypto.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
bpf_mprog.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: use type_may_be_null() helper for nullable-param check 2024-09-05 13:29:06 -07:00
bpf-cgroup-defs.h
bpf-cgroup.h bpf, net: Fix a potential race in do_sock_getsockopt() 2024-09-03 12:06:24 -07:00
bpf-netns.h
bpf.h bpf: Fix helper writes to read-only maps 2024-09-13 13:17:55 -07:00
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf_ids.h
btf.h bpf: extract iterator argument type and name validation logic 2024-08-21 10:37:52 -07:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h vfs-6.12.folio 2024-09-16 08:54:30 +02:00
bug.h
build_bug.h
build-salt.h
buildid.h lib/buildid: rename build_id_parse() into build_id_parse_nofault() 2024-09-11 09:58:30 -07:00
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi_types.h
cfi.h
cgroup_api.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
cgroup-defs.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
cgroup.h sched_ext: Initial pull request for v6.12 2024-09-21 09:44:57 -07:00
circ_buf.h
cleanup.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource_ids.h
clocksource.h
closure.h
cma.h mm/cma: add cma_{alloc,free}_folio() 2024-09-03 21:15:36 -07:00
cmpxchg-emu.h
cn_proc.h
cnt32_to_63.h
coda.h
codetag.h
compaction.h
compat.h
compiler_attributes.h
compiler_types.h string: Check for "nonstring" attribute on strscpy() arguments 2024-08-22 17:04:43 -07:00
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h string: Check for "nonstring" attribute on strscpy() arguments 2024-08-22 17:04:43 -07:00
completion.h
component.h
configfs.h
connector.h
console_struct.h
console.h printk: nbcon: Show replay message on takeover 2024-09-04 15:56:32 +02:00
consolemap.h
const.h
container_of.h
container.h
context_tracking_irq.h
context_tracking_state.h
context_tracking.h RCU pull request for v6.12 2024-09-18 07:52:24 +02:00
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpu.h
cpufeature.h
cpufreq.h
cpuhotplug.h Performance events changes for v6.12: 2024-09-18 15:03:58 +02:00
cpuhplock.h
cpuidle_haltpoll.h
cpuidle.h
cpumask_api.h
cpumask_types.h
cpumask.h
cpuset.h cgroup/cpuset: guard cpuset-v1 code under CONFIG_CPUSETS_V1 2024-08-30 10:00:16 -10:00
crash_core.h
crash_dump.h
crash_reserve.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
cxl-event.h
damon.h mm/damon/core: remove per-scheme region priority histogram buffer 2024-09-09 16:39:00 -07:00
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h dma-mapping: clearly mark DMA ops as an architecture feature 2024-09-04 07:08:51 +03:00
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dma-buf.h
dma-direct.h dma-mapping: replace zone_dma_bits by zone_dma_limit 2024-08-22 06:18:00 +02:00
dma-direction.h
dma-fence-array.h dma-buf: Split out dma fence array create into alloc and arm functions 2024-08-30 11:41:05 -07:00
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h
dma-heap.h
dma-map-ops.h dma-mapping: clearly mark DMA ops as an architecture feature 2024-09-04 07:08:51 +03:00
dma-mapping.h dma-mapping: don't return errors from dma_set_max_seg_size 2024-08-29 07:22:49 +03:00
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h dpll: add Embedded SYNC feature for a pin 2024-08-26 19:21:14 -07:00
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_config.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
efi_embedded_fw.h
efi-bgrt.h
efi.h
efs_vh.h
einj-cxl.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h
entry-kvm.h
err.h err.h: add ERR_PTR_PCPU(), PTR_ERR_PCPU() and IS_ERR_PCPU() macros 2024-09-03 21:15:38 -07:00
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: Correct spelling in headers 2024-08-26 09:37:23 -07:00
ethtool_netlink.h ethtool: Add support for specifying information source in cable test results 2024-08-26 09:33:58 -07:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
execmem.h
export-internal.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h fs: sort out the fallocate mode vs flag mess 2024-08-28 16:53:57 +02:00
fanotify.h
fault-inject-usercopy.h
fault-inject.h fault-inject: improve build for CONFIG_FAULT_INJECTION=n 2024-09-01 20:43:33 -07:00
fb.h drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h vfs-6.12.mount 2024-09-16 11:15:26 +02:00
fileattr.h
filelock.h vfs: dodge smp_mb in break_lease and break_deleg in the common case 2024-08-30 08:22:33 +02:00
filter.h bpf-next-6.12 2024-09-21 09:27:50 -07:00
find.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
folio_queue.h netfs: Speed up buffered reading 2024-09-12 12:20:41 +02:00
font.h
fortify-string.h
fprobe.h
fpu.h
freezer.h
fs_api.h
fs_context.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
fsverity.h
ftrace_irq.h
ftrace.h
futex.h
fw_table.h
fwnode_mdio.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp_api.h
gfp_types.h mm: warn about illegal __GFP_NOFAIL usage in a more appropriate location and manner 2024-09-09 16:39:03 -07:00
gfp.h mm: fix folio_alloc_noprof() 2024-09-09 16:39:05 -07:00
glob.h
gnss.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h gpiolib: legacy: Kill GPIOF_DIR_* definitions 2024-09-02 11:47:06 +02:00
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable_api.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid_bpf.h HID: bpf: constify parameter rdesc of call_hid_bpf_rdesc_fixup() 2024-08-27 16:18:51 +02:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h Merge branch 'for-6.12/constify-rdesc' into for-linus 2024-09-13 15:14:56 +02:00
hidden.h
hiddev.h
hidraw.h HID: hidraw: add HIDIOCREVOKE ioctl 2024-08-29 10:39:37 +02:00
highmem-internal.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hisi_acc_qm.h
hmm.h
host1x_context_bus.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hrtimer.h
hte.h
huge_mm.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm/hugetlb: use __GFP_COMP for gigantic folios 2024-09-03 21:15:36 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Remove devm_hwmon_device_unregister() API function 2024-09-13 07:27:36 -07:00
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h net: qualcomm: rmnet: Correct spelling in if_rmnet.h 2024-08-26 09:37:22 -07:00
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in6.h
in.h
indirect_call_wrapper.h
inet_diag.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
init.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
intel_vsec.h
intel-ish-client-if.h
interconnect-clk.h
interconnect-provider.h
interconnect.h
interrupt.h genirq: Fix typo in struct comment 2024-08-23 20:50:19 +02:00
interval_tree_generic.h
interval_tree.h
io_uring_types.h io_uring: user registered clockid for wait timeouts 2024-08-25 08:27:01 -06:00
io_uring.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h iommu/amd: Store the nid in io_pgtable_cfg instead of the domain 2024-09-04 11:38:34 +02:00
io.h
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h
iocontext.h
iomap.h iomap: remove the iomap_file_buffered_write_punch_delalloc return value 2024-09-10 11:14:15 +02:00
iommu-dma.h dma-mapping: use IOMMU DMA calls for common alloc/free page calls 2024-09-05 14:29:42 +03:00
iommu-helper.h
iommu.h iommu: Handle iommu faults for a bad iopf setup 2024-08-23 11:16:39 +02:00
iommufd.h
iopoll.h
ioport.h
ioprio.h
ioremap.h x86/ioremap: Improve iounmap() address range checks 2024-08-26 10:19:55 -07:00
iosys-map.h
iov_iter.h cifs: Use iterate_and_advance*() routines directly for hashing 2024-09-12 12:20:42 +02:00
iova_bitmap.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi.h
ipv6_route.h
ipv6.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain_defs.h
irqdomain.h
irqflags_types.h
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
ism.h
iversion.h
jbd2.h jbd2: remove unused return value of jbd2_fc_release_bufs 2024-08-26 23:49:15 -04:00
jhash.h
jiffies.h treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h slub: Introduce CONFIG_SLUB_RCU_DEBUG 2024-08-27 14:12:51 +02:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_read_file.h
kernel_stat.h
kernel-page-flags.h x86: remove PG_uncached 2024-09-03 21:15:46 -07:00
kernel.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h kfence: introduce burst mode 2024-09-01 20:26:03 -07:00
kfifo.h
kgdb.h
khugepaged.h mm: split underused THPs 2024-09-09 16:39:04 -07:00
klist.h
kmemleak.h
kmod.h
kmsan_string.h
kmsan_types.h
kmsan-checks.h
kmsan.h
kmsg_dump.h
kobj_map.h
kobject_api.h
kobject_ns.h
kobject.h
kprobes.h
kref_api.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime_api.h
ktime.h
kvm_dirty_ring.h
kvm_host.h kvm: Note an RCU quiescent state on guest exit 2024-09-04 10:44:42 -04:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-expresswire.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h ata: libata: Improve CDL resource management 2024-09-07 10:16:56 +09:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
litex.h
livepatch_sched.h
livepatch.h
llc.h
llist_api.h
llist.h
local_lock_internal.h
local_lock.h
lockdep_api.h
lockdep_types.h
lockdep.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h lib/lru_cache: fix spelling mistake "colision"->"collision" 2024-09-01 20:43:29 -07:00
lsm_audit.h
lsm_count.h lsm: count the LSMs enabled at compile time 2024-08-22 12:23:47 -04:00
lsm_hook_defs.h lsm: add security_inode_setintegrity() hook 2024-08-20 14:02:58 -04:00
lsm_hooks.h lsm: replace indirect LSM hook calls with static calls 2024-08-22 12:24:10 -04:00
lwq.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple_tree.h maple_tree: fix comment typo on ma_flag of allocation tree 2024-09-09 16:39:06 -07:00
maple.h
marvell_phy.h
math64.h
math.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm: add nr argument in mem_cgroup_swapin_uncharge_swap() helper to support large folios 2024-09-17 01:07:01 -07:00
memfd.h
memory_hotplug.h mm: drop CONFIG_HAVE_ARCH_NODEDATA_EXTENSION 2024-09-03 21:15:28 -07:00
memory-tiers.h
memory.h
mempolicy.h
mempool.h
memregion.h
memremap.h
memstick.h
mhi_ep.h
mhi.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm: migrate: add isolate_folio_to_list() 2024-09-03 21:15:59 -07:00
mii_timestamper.h
mii.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_api.h
mm_inline.h
mm_types_task.h mm: turn USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options 2024-09-01 20:25:51 -07:00
mm_types.h mm: remove PageSwapCache 2024-09-03 21:15:44 -07:00
mm.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h include/linux/mmzone.h: clean up watermark accessors 2024-09-01 20:25:59 -07:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module_signature.h
module_symbol.h
module.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msdos_partition.h
msg.h
msi_api.h
msi.h
mtio.h
mutex_api.h
mutex_types.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net_tstamp.h
net.h
netdev_features.h netdev_features: remove NETIF_F_ALL_FCOE 2024-09-03 11:36:43 +02:00
netdevice_xmit.h
netdevice.h netdev: support binding dma-buf to netdevice 2024-09-11 20:44:31 -07:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfilter.h
netfs.h cachefiles, netfs: Fix write to partial block at EOF 2024-09-12 12:20:41 +02:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfs.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask_types.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa_memblks.h mm: make range-to-target_node lookup facility a part of numa_memblks 2024-09-03 21:15:32 -07:00
numa.h arch, mm: pull out allocation of NODE_DATA to generic code 2024-09-03 21:15:28 -07:00
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h nvme-tcp: check for invalidated or revoked key 2024-08-22 13:25:07 -07:00
nvme-rdma.h nvme-rdma: send cntlid in the RDMA_CM_REQUEST Private Data 2024-08-26 08:11:19 -07:00
nvme-tcp.h
nvme.h nvme: rename apptag and appmask to lbat and lbatm 2024-08-26 09:51:32 -07:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
oa_tc6.h net: ethernet: oa_tc6: add helper function to enable zero align rx frame 2024-09-11 20:53:45 -07:00
objagg.h
objpool.h
objtool_types.h
objtool.h
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h ARM: OMAP2+: Remove obsoleted declaration for gpmc_onenand_init 2024-08-30 10:57:24 -07:00
omap-iommu.h
omap-mailbox.h
omapfb.h
once_lite.h
once.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h
padata.h
page_counter.h mm, memcg: cg2 memory{.swap,}.peak write handlers 2024-09-01 20:25:53 -07:00
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
page-flags-layout.h
page-flags.h mm: introduce a pageflag for partially mapped folios 2024-09-09 16:39:04 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h vfs-6.12.blocksize 2024-09-20 17:53:17 -07:00
pagevec.h
pagewalk.h mm/pagewalk: introduce folio_walk_start() + folio_walk_end() 2024-09-01 20:25:59 -07:00
panic_notifier.h
panic.h
papr_scm.h
parman.h
parport_pc.h
parport.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h fs: remove unused path_put_init() 2024-08-30 08:22:38 +02:00
pch_dma.h
pci_hotplug.h
pci_ids.h
pci-acpi.h
pci-ats.h iommu: Allow ATS to work on VFs when the PF uses IDENTITY 2024-08-30 14:29:30 +02:00
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci-pwrctl.h PCI/pwrctl: Rescan bus on a separate thread 2024-09-03 17:11:05 -05:00
pci.h
pcs-lynx.h
pcs-rzn1-miic.h
pe.h
peci-cpu.h
peci.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h percpu-rwsem: remove the unused parameter 'read' 2024-08-19 13:45:03 +02:00
percpu.h percpu: remove pcpu_alloc_size() 2024-09-01 20:26:04 -07:00
perf_event_api.h
perf_event.h Performance events changes for v6.12: 2024-09-18 15:03:58 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgalloc_tag.h mm/codetag: fix pgalloc_tag_split() 2024-09-09 16:39:18 -07:00
pgtable_api.h
pgtable.h mm: always define pxx_pgprot() 2024-09-17 01:06:59 -07:00
phonet.h
phy_fixed.h
phy_led_triggers.h
phy_link_topology.h net: phy: Introduce ethernet link topology representation 2024-08-23 13:04:34 +01:00
phy.h net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
phylib_stubs.h
phylink.h net: phylink: Add phylink_set_fixed_link() to configure fixed link state in phylink 2024-09-11 11:06:11 +01:00
pid_namespace.h
pid_types.h
pid.h
pidfs.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist_types.h
plist.h
pm_clock.h
pm_domain.h PM: domains: add device managed version of dev_pm_domain_attach|detach_list() 2024-08-20 11:19:49 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmbus.h
pmu.h
pnp.h
poison.h
poll.h
polynomial.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers_types.h
posix-timers.h
power_supply.h power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h printk: Coordinate direct printing in panic 2024-08-21 14:56:25 +02:00
prmt.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi_types.h
psi.h
psp-platform-access.h
psp-sev.h
psp-tee.h
psp.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
pstore.h pstore: replace spinlock_t by raw_spinlock_t 2024-08-26 13:33:50 -07:00
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp/ioctl: support MONOTONIC{,_RAW} timestamps for PTP_SYS_OFFSET_EXTENDED 2024-09-08 18:40:33 +01:00
ptp_kvm.h
ptp_mock.h
ptp_pch.h
ptr_ring.h
ptrace_api.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h pwm: Don't export pwm_capture() 2024-09-05 11:14:14 +02:00
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
randomize_kstack.h
range.h
ras.h
ratelimit_types.h ratelimit: convert flags to int to save 8 bytes in size 2024-09-01 20:43:38 -07:00
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rbtree.h rbtree: provide rb_find_rcu() / rb_find_add_rcu() 2024-09-05 16:56:15 +02:00
rcu_node_tree.h
rcu_notifier.h
rcu_segcblist.h rcu/nocb: Simplify (de-)offloading state machine 2024-09-09 00:03:55 +05:30
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_trace.h
rcupdate_wait.h
rcupdate.h Merge branches 'context_tracking.15.08.24a', 'csd.lock.15.08.24a', 'nocb.09.09.24a', 'rcutorture.14.08.24a', 'rcustall.09.09.24a', 'srcu.12.08.24a', 'rcu.tasks.14.08.24a', 'rcu_scaling_tests.15.08.24a', 'fixes.12.08.24a' and 'misc.11.08.24a' into next.09.09.24a 2024-09-09 00:09:47 +05:30
rcuref.h
rcutiny.h slab updates for 6.12 2024-09-18 08:53:53 +02:00
rcutree.h slab updates for 6.12 2024-09-18 08:53:53 +02:00
rcuwait_api.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount_api.h
refcount_types.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h x86/resctrl: Fix arch_mbm_* array overrun on SNC 2024-08-28 11:13:08 +02:00
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
resume_user_mode.h
rethook.h
rfkill.h wifi: rfkill: Correct parameter type for rfkill_set_hw_state_reason() 2024-08-27 10:28:55 +02:00
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm: remap unused subpages to shared zeropage when splitting isolated thp 2024-09-09 16:39:03 -07:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmb.h rpmb: add Replay Protected Memory Block (RPMB) subsystem 2024-08-26 13:16:20 +02:00
rpmsg.h
rseq.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rv.h
rw_hint.h
rwbase_rt.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwlock.h
rwsem.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h sched_ext: Initial pull request for v6.12 2024-09-21 09:44:57 -07:00
scmi_imx_protocol.h firmware: arm_scmi: Add initial support for i.MX MISC protocol 2024-08-28 21:54:13 +01:00
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
seccomp_types.h
seccomp.h
secretmem.h
securebits.h
security.h fsverity: expose verified fsverity built-in signatures to LSMs 2024-08-20 14:03:18 -04:00
sed-opal-key.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
sem_types.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock_api.h
seqlock_types.h
seqlock.h seqcount: replace smp_rmb() in read_seqcount() with load acquire 2024-09-22 13:35:36 -07:00
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: core: Acquire nbcon context in port->lock wrapper 2024-08-21 14:56:23 +02:00
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h set_memory: add __must_check to generic stubs 2024-09-17 01:07:00 -07:00
sfp.h net: sfp: Add helper to return the SFP bus name 2024-08-23 13:04:34 +01:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h mm,tmpfs: consider end of file write in shmem_is_huge 2024-09-09 16:39:12 -07:00
shrinker.h
signal_types.h
signal.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff_ref.h net: support non paged skb frags 2024-09-11 20:44:31 -07:00
skbuff.h net: add support for skbs with unreadable frags 2024-09-11 20:44:31 -07:00
skmsg.h
slab.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
slimbus.h
sm501-regs.h
sm501.h
smc91x.h
smp_types.h
smp.h RCU pull request for v6.12 2024-09-18 07:52:24 +02:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h tcp: RX path for devmem TCP 2024-09-11 20:44:32 -07:00
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_api.h
spinlock_rt.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
spmi.h
sprintf.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_call_types.h
static_call.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h net: stmmac: move stmmac_fpe_cfg to stmmac_priv data 2024-09-10 16:42:11 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_choices.h lib/string_choices: Add some comments to make more clear for string choices helpers. 2024-09-05 09:50:16 -07:00
string_helpers.h
string.h drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait_api.h
swait.h
swap_cgroup.h
swap_slots.h
swap.h mm: store zero pages to be swapped out in a bitmap 2024-09-03 21:15:47 -07:00
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscall_user_dispatch_types.h
syscall_user_dispatch.h
syscalls_api.h
syscalls.h fhandle: expose u64 mount id to name_to_handle_at(2) 2024-09-05 11:39:17 +02:00
syscore_ops.h
sysctl.h
sysfb.h video/aperture: optionally match the device in sysfb_disable() 2024-08-26 19:14:48 -04:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_core.h tee: add tee_device_set_dev_groups() 2024-08-26 13:16:20 +02:00
tee_drv.h
tegra-icc.h
termios_internal.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h thermal: core: Drop unused bind/unbind functions and callbacks 2024-08-23 15:42:58 +02:00
thread_info.h
threads.h
thunderbolt.h
ti_wilink_st.h
ti-emif-sram.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time32.h
time64.h
time_namespace.h
time.h
timecounter.h
timekeeper_internal.h treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
timekeeping.h
timer_types.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue_types.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h
tpm.h
trace_clock.h
trace_events.h
trace_recursion.h
trace_seq.h
trace.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
tty.h
turris-omnia-mcu-interface.h
typecheck.h
types.h
u64_stats_sync_api.h
u64_stats_sync.h
uacce.h
uaccess.h Merge branch 'address-masking' 2024-09-22 11:19:35 -07:00
ubsan.h
ucs2_string.h
udp.h
uidgid_types.h
uidgid.h
uio_driver.h
uio.h iov_iter: Provide copy_folio_from_iter() 2024-09-12 12:20:39 +02:00
umh.h
unicode.h
union_find.h
units.h
unroll.h kernel: Add helper macros for loop unrolling 2024-08-20 14:05:33 -04:00
uprobes.h Revert "uprobes: use vm_special_mapping close() functionality" 2024-09-17 01:07:01 -07:00
usb_usual.h
usb.h
usbdevice_fs.h
user_events.h
user_namespace.h uidgid: make sure we fit into one cacheline 2024-09-12 12:16:09 +02:00
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: move core VMA manipulation logic to mm/userfaultfd.c 2024-09-01 20:25:53 -07:00
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
verification.h
vermagic.h
vexpress.h
vfio_pci_core.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via_i2c.h
via-core.h
via.h
videodev2.h
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_dma_buf.h
virtio_net.h net: tighten bad gso csum offset check in virtio_net_hdr 2024-09-11 20:43:07 -07:00
virtio_pci_admin.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
virtio.h
vm_event_item.h mm: split underused THPs 2024-09-09 16:39:04 -07:00
vmalloc.h mm: vmalloc: implement vrealloc() 2024-09-01 20:25:43 -07:00
vmcore_info.h
vmpressure.h
vmstat.h mm,memcg: provide per-cgroup counters for NUMA balancing operations 2024-09-03 21:15:36 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1.h
wait_api.h
wait_bit.h
wait.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wm97xx.h
wmi.h
wordpart.h
workqueue_api.h
workqueue_types.h
workqueue.h workqueue: Fix another htmldocs build warning 2024-08-21 06:37:39 -10:00
writeback.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h
xz.h xz: remove XZ_EXTERN and extern from functions 2024-09-01 20:43:27 -07:00
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd_errors.h
zstd_lib.h
zstd.h lib: zstd: export API needed for dictionary support 2024-09-09 16:39:06 -07:00
zswap.h zswap: implement a second chance algorithm for dynamic zswap shrinker 2024-09-01 20:26:02 -07:00
zutil.h