milos-linux/include/linux
Alexander Graf 07d2490297 kexec: enable CMA based contiguous allocation
When booting a new kernel with kexec_file, the kernel picks a target
location that the kernel should live at, then allocates random pages,
checks whether any of those patches magically happens to coincide with a
target address range and if so, uses them for that range.

For every page allocated this way, it then creates a page list that the
relocation code - code that executes while all CPUs are off and we are
just about to jump into the new kernel - copies to their final memory
location.  We can not put them there before, because chances are pretty
good that at least some page in the target range is already in use by the
currently running Linux environment.  Copying is happening from a single
CPU at RAM rate, which takes around 4-50 ms per 100 MiB.

All of this is inefficient and error prone.

To successfully kexec, we need to quiesce all devices of the outgoing
kernel so they don't scribble over the new kernel's memory.  We have seen
cases where that does not happen properly (*cough* GIC *cough*) and hence
the new kernel was corrupted.  This started a month long journey to root
cause failing kexecs to eventually see memory corruption, because the new
kernel was corrupted severely enough that it could not emit output to tell
us about the fact that it was corrupted.  By allocating memory for the
next kernel from a memory range that is guaranteed scribbling free, we can
boot the next kernel up to a point where it is at least able to detect
corruption and maybe even stop it before it becomes severe.  This
increases the chance for successful kexecs.

Since kexec got introduced, Linux has gained the CMA framework which can
perform physically contiguous memory mappings, while keeping that memory
available for movable memory when it is not needed for contiguous
allocations.  The default CMA allocator is for DMA allocations.

This patch adds logic to the kexec file loader to attempt to place the
target payload at a location allocated from CMA.  If successful, it uses
that memory range directly instead of creating copy instructions during
the hot phase.  To ensure that there is a safety net in case anything goes
wrong with the CMA allocation, it also adds a flag for user space to force
disable CMA allocations.

Using CMA allocations has two advantages:

  1) Faster by 4-50 ms per 100 MiB. There is no more need to copy in the
     hot phase.
  2) More robust. Even if by accident some page is still in use for DMA,
     the new kernel image will be safe from that access because it resides
     in a memory region that is considered allocated in the old kernel and
     has a chance to reinitialize that component.

Link: https://lkml.kernel.org/r/20250610085327.51817-1-graf@amazon.com
Signed-off-by: Alexander Graf <graf@amazon.com>
Acked-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: Zhongkun He <hezhongkun.hzk@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-08-02 12:01:38 -07:00
..
amba
atomic
avf
bcma
bus
byteorder
can
cdx
ceph
clk
comedi
crush
decompress
device
dma
dsa
extcon
firmware
fpga
framer
fsl
gpio
greybus
habanalabs
hsi
i3c
iio
input
io_uring
irqchip dmaengine updates for v6.16 2025-06-05 08:49:30 -07:00
isdn
lockd
lsm
mailbox
mdio
memory
mfd mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
misc
mlx4
mlx5
mmc
mtd mtd: nand: qpic_common: prevent out of bounds access of BAM arrays 2025-06-29 22:10:47 +01:00
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data Move FCH header to a location accessible by all archs 2025-06-30 13:42:11 +03:00
power
pse-pd
pwrseq
qat
qed
raid lib/raid6: replace custom zero page with ZERO_PAGE 2025-07-09 22:57:54 -07:00
regulator
remoteproc
reset
rpmsg
rtc
sched - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
soc i2c: amd-isp: Initialize unique adapter name 2025-06-25 23:38:33 +02:00
soundwire soundwire updates for 6.16 2025-06-05 08:07:24 -07:00
spi spi: Raise limit on number of chip selects to 24 2025-06-29 22:10:52 +01:00
ssb
sunrpc NFS Clent Updates for Linux 6.16 2025-06-03 16:13:32 -07:00
surface_aggregator
ulpi
unaligned
usb usb: typec: altmodes/displayport: do not index invalid pin_assignments 2025-06-24 15:42:55 +01:00
8250_pci.h
acct.h
acpi.h hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
alloc_tag.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h
anon_inodes.h
aperture.h
apm-emulation.h
apm_bios.h
apple-gmux.h
arch_topology.h
args.h
arm-cci.h
arm-smccc.h
arm_ffa.h firmware: arm_ffa: Fix the missing entry in struct ffa_indirect_msg_hdr 2025-06-09 11:24:43 +01:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h
array_size.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
atm.h
atm_tcp.h
atmdev.h atm: Revert atm_account_tx() if copy_from_iter_full() fails. 2025-06-17 18:42:44 -07:00
atmel-isc-media.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
audit_arch.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 bio: Fix bio_first_folio() for SPARSEMEM without VMEMMAP 2025-06-13 06:19:34 -06:00
bit_spinlock.h
bitfield.h
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h - dm: better error handling when reloading a table 2025-06-03 15:54:46 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h bpf-next-6.16 2025-05-28 15:52:42 -07:00
bpf-netns.h
bpf.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
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btf_ids.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h block: Fix bvec_set_folio() for very large folios 2025-06-13 06:20:17 -06:00
c2port.h
cache.h
cacheflush.h
cacheinfo.h
call_once.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cfi_types.h
cgroup-defs.h
cgroup.h cgroup: Changes for v6.16 2025-05-27 20:59:53 -07:00
cgroup_api.h
cgroup_dmem.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
cleanup.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
closure.h
cma.h
cmpxchg-emu.h
cn_proc.h
cnt32_to_63.h
coda.h
codetag.h alloc_tag: handle module codetag load errors as module load failures 2025-06-05 22:02:23 -07:00
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-version.h
compiler.h
compiler_attributes.h
compiler_types.h - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
container_of.h
context_tracking.h
context_tracking_irq.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu.h x86/smp: PM/hibernate: Split arch_resume_nosmt() 2025-06-07 14:22:56 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpufeature.h
cpufreq.h
cpuhotplug.h
cpuhplock.h
cpuidle.h
cpuidle_haltpoll.h
cpumask.h bitmap-for-6.16 2025-06-03 07:39:23 -07:00
cpumask_api.h
cpumask_types.h
cpuset.h
crash_core.h
crash_dump.h
crash_reserve.h kdump: implement reserve_crashkernel_cma 2025-07-19 19:08:23 -07:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h Networking changes for 6.16. 2025-05-28 15:24:36 -07:00
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
damon.h
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-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dm9000.h
dma-buf.h bpf-next-6.16 2025-05-28 15:52:42 -07:00
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h
dma-heap.h
dma-map-ops.h
dma-mapping.h dma-mapping updates for Linux 6.16: 2025-05-27 20:09:06 -07:00
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_config.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.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-bgrt.h
efi.h
efi_embedded_fw.h
efs_vh.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
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h
execmem.h Revert "mm/execmem: Unify early execmem_cache behaviour" 2025-06-11 11:20:52 +02:00
export-internal.h
export.h
exportfs.h exportfs: require ->fh_to_parent() to encode connectable file handles 2025-05-30 07:30:47 +02:00
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
file_ref.h
fileattr.h
filelock.h
filter.h
find.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
folio_queue.h
font.h
fortify-string.h
fprobe.h
fpu.h
freezer.h
fs.h vfs-6.16-rc5.fixes 2025-07-04 09:06:49 -07:00
fs_api.h
fs_context.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h \n 2025-05-29 10:34:26 -07:00
fsverity.h
ftrace.h RISC-V Patches for the 6.16 Merge Window, Part 1 2025-06-06 18:05:18 -07:00
ftrace_irq.h
ftrace_regs.h
futex.h futex: Initialize futex_phash_new during fork(). 2025-06-23 14:50:37 +02:00
fw_table.h
fwctl.h
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h lib/math/gcd: use static key to select implementation at runtime 2025-07-19 19:08:28 -07:00
genalloc.h
generic-radix-tree.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid-debug.h
hid-over-i2c.h
hid-over-spi.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hid_bpf.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h f2fs-for-6.16-rc1 2025-05-30 08:40:25 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h
hmm-dma.h
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hte.h
huge_mm.h
hugetlb.h mm/hugetlb: unshare page tables during VMA split, not before 2025-06-05 22:02:24 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hung_task.h hung_task: extend hung task blocker tracking to rwsems 2025-07-19 19:08:26 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-of-prober.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h wifi: remove zero-length arrays 2025-06-17 14:29:19 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
intel_vsec.h
interconnect-clk.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
io_uring.h
io_uring_types.h
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
iocontext.h
iomap.h iomap: don't lose folio dropbehind state for overwrites 2025-05-28 09:26:07 +02:00
iommu-dma.h
iommu-helper.h
iommu.h IOMMU Updates for Linux v6.16: 2025-05-30 10:44:20 -07:00
iommufd.h
iopoll.h
ioport.h
ioprio.h
ioremap.h
iosys-map.h
iov_iter.h
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqdomain_defs.h
irqflags.h
irqflags_types.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
jhash.h include/linux/jhash.h: replace __get_unaligned_cpu32 in jhash function 2025-07-09 22:57:49 -07:00
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h
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-page-flags.h
kernel.h
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h kexec: enable CMA based contiguous allocation 2025-08-02 12:01:38 -07:00
kexec_handover.h
key-type.h
key.h KEYS: Invert FINAL_PUT bit 2025-06-11 11:57:14 -07:00
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h mm/alloc_tag: fix the kmemleak false positive issue in the allocation of the percpu variable tag->counters 2025-06-25 15:55:03 -07:00
kmod.h
kmsan-checks.h
kmsan.h
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_api.h
kobject_ns.h
kprobes.h
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h Merge branch 'kvm-lockdep-common' into HEAD 2025-05-28 06:29:17 -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-acpi: Do not assume 40 wire cable if no devices are enabled 2025-06-10 14:08:24 +02:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
livepatch_sched.h
llc.h
llist.h llist: make llist_add_batch() a static inline 2025-05-27 19:40:34 -07:00
llist_api.h
local_lock.h
local_lock_internal.h
lockdep.h
lockdep_api.h
lockdep_types.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_count.h
lsm_hook_defs.h
lsm_hooks.h
lwq.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple.h
maple_tree.h
marvell_phy.h
math.h
math64.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h net: phy: fix up const issues in to_mdio_device() and to_phy_device() 2025-05-27 17:35:25 -07:00
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h memcg: nmi safe memcg stats for specific archs 2025-05-31 22:46:08 -07:00
memfd.h
memory-tiers.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memregion.h
memremap.h
memstick.h
mhi.h
mhi_ep.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
mm_api.h
mm_inline.h
mm_types.h - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
mm_types_task.h
mman.h
mmap_lock.h - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mmu_notifiers: remove leftover stub macros 2025-05-31 22:46:13 -07:00
mmzone.h - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h USB/Thunderbolt changes for 6.16-rc1 2025-06-06 12:45:35 -07:00
module.h x86/its: move its_pages array to struct mod_arch_specific 2025-06-11 11:20:51 +02:00
module_signature.h
module_symbol.h
moduleloader.h
moduleparam.h
most.h
mount.h replace collect_mounts()/drop_collected_mounts() with a safer variant 2025-06-23 14:01:49 -04:00
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h
msi_api.h
mtio.h
mutex.h
mutex_api.h
mutex_types.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net.h Networking changes for 6.16. 2025-05-28 15:24:36 -07:00
net_tstamp.h
netdev_features.h
netdevice.h
netdevice_xmit.h
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfs.h netfs: Renumber the NETFS_RREQ_* flags to make traces easier to read 2025-07-01 22:37:14 +02:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h NFSv4: Allow FREE_STATEID to clean up delegations 2025-05-28 17:17:13 -04:00
nfs_common.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfsacl.h
nfslocalio.h nfs_localio: change nfsd_file_put_local() to take a pointer to __rcu pointer 2025-05-28 17:17:14 -04:00
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nodemask_types.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
numa_memblks.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: fix command limits status code 2025-06-04 09:51:10 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
oa_tc6.h
objagg.h
objpool.h
objtool.h
objtool_types.h
of.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
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
once_lite.h
oom.h
openvswitch.h
osq_lock.h
overflow.h overflow: Introduce __DEFINE_FLEX for having no initializer 2025-06-01 08:41:11 -07:00
packing.h
padata.h
page-flags-layout.h
page-flags.h - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_frag_cache.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h mm: add CONFIG_PAGE_BLOCK_ORDER to select page block order 2025-05-31 22:46:13 -07:00
pagemap.h fuse update for 6.16 2025-06-02 15:31:05 -07:00
pagevec.h
pagewalk.h
panic.h
panic_notifier.h
papr_scm.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-bwctrl.h
pci-doe.h
pci-ecam.h PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Align pci_epc_set_msix(), pci_epc_ops::set_msix() nr_irqs encoding 2025-05-28 16:47:56 -05:00
pci-epf.h PCI: endpoint: Retain fixed-size BAR size as well as aligned size 2025-05-28 16:15:40 -05:00
pci-p2pdma.h
pci-pwrctrl.h
pci-tph.h
pci.h pci-v6.16-changes 2025-06-04 11:26:17 -07:00
pci_hotplug.h
pci_ids.h
pcie-dwc.h
pcs-lynx.h
pcs-rzn1-miic.h
pe.h
peci-cpu.h
peci.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h perf: Add comment to enum perf_event_state 2025-06-05 14:37:53 +02:00
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgalloc_tag.h
pgtable.h
pgtable_api.h
phonet.h
phy.h net: phy: fix up const issues in to_mdio_device() and to_phy_device() 2025-05-27 17:35:25 -07:00
phy_fixed.h
phy_led_triggers.h
phy_link_topology.h
phylib_stubs.h
phylink.h
pid.h
pid_namespace.h
pid_types.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.h
plist_types.h
pm-trace.h
pm.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h pci-v6.16-changes 2025-06-04 11:26:17 -07:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h
poison.h
poll.h
polynomial.h
posix-clock.h
posix-timers.h
posix-timers_types.h
posix_acl.h
posix_acl_xattr.h
power_supply.h platform-drivers-x86 for v6.16-1 2025-05-29 10:19:22 -07:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_gen_kernel.h
pps_kernel.h
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
pruss_driver.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-platform-access.h
psp-sev.h
psp-tee.h
psp.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_mock.h
ptp_pch.h
ptr_ring.h
ptrace.h
ptrace_api.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
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.h
ratelimit_types.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rcu_node_tree.h
rcu_notifier.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_trace.h
rcupdate_wait.h
rcuref.h
rcutiny.h
rcutree.h
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
refcount_types.h
regmap.h
regset.h
relay.h relayfs: support a counter tracking if data is too big to write 2025-07-09 22:57:52 -07:00
remoteproc.h
resctrl.h x86,fs/resctrl: Remove inappropriate references to cacheinfo in the resctrl subsystem 2025-06-16 21:06:12 +02:00
resctrl_types.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h
rethook.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
rolling_buffer.h
root_dev.h
rpmb.h
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.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h locking/rwsem: make owner helpers globally available 2025-07-19 19:08:25 -07:00
sbitmap.h
scatterlist.h scatterlist: fix extraneous '@'-sign kernel-doc notation 2025-06-11 22:42:35 -07:00
scc.h
sched.h - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
sched_clock.h
scmi_imx_protocol.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
seccomp.h
seccomp_types.h
secretmem.h
securebits.h
security.h
sed-opal-key.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
sem_types.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
seqlock_types.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h
skbuff_ref.h
skmsg.h
slab.h
slimbus.h
sm501-regs.h
sm501.h
smc91x.h
smp.h
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_rt.h
spinlock_types.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_up.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.h
static_call_types.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_choices.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
surface_acpi_notify.h
suspend.h PM: Restrict swap use to later in the suspend sequence 2025-06-26 20:39:34 +02:00
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_info.h panic: add 'panic_sys_info' sysctl to take human readable string parameter 2025-07-19 19:08:24 -07:00
sys_soc.h
syscall_user_dispatch.h
syscall_user_dispatch_types.h
syscalls.h
syscalls_api.h
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
syslog.h
sysrq.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_core.h
tee_drv.h
tegra-icc.h
termios_internal.h
text-patching.h
textsearch.h
textsearch_fsm.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h timens: Add struct seq_file forward declaration 2025-06-04 11:27:11 +02:00
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
timer_types.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timerqueue_types.h
timex.h
tnum.h
topology.h bitmap-for-6.16 2025-06-03 07:39:23 -07:00
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
tpm_svsm.h
trace.h
trace_clock.h
trace_events.h
trace_recursion.h
trace_seq.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm-mr.h
tsm.h
tty.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
turris-omnia-mcu-interface.h
turris-signing-key.h
typecheck.h
types.h
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h
ubsan.h
ucopysize.h
ucs2_string.h
udp.h
uidgid.h
uidgid_types.h
uio.h - The 2 patch series "zram: support algorithm-specific parameters" from 2025-06-02 16:00:26 -07:00
uio_driver.h
umh.h
unaligned.h
unicode.h
union_find.h
units.h
unroll.h
uprobes.h
usb.h usb: acpi: fix device link removal 2025-06-19 12:36:19 +02:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_events.h
user_namespace.h
userfaultfd_k.h
usermode_driver.h
util_macros.h - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
vdso_datastore.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfio_pci_core.h
vfs.h
vfsdebug.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: reject shm region if length is zero 2025-05-28 03:19:03 -04:00
virtio_dma_buf.h
virtio_net.h
virtio_pci_admin.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
vm_event_item.h sched/numa: add statistics of numa balance task 2025-05-31 22:46:15 -07:00
vmalloc.h arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
vmcore_info.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1.h
wait.h
wait_api.h
wait_bit.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wm97xx.h
wmi.h
wordpart.h
workqueue.h workqueue: Changes for v6.16 2025-05-27 20:49:06 -07:00
workqueue_api.h
workqueue_types.h
writeback.h
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h lib/xxhash: remove unused functions 2025-08-02 12:01:37 -07:00
xz.h
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zswap.h
zutil.h