milos-linux/include/linux
Joao Martins e3246d8f52 mm/sparse-vmemmap: add a pgmap argument to section activation
Patch series "sparse-vmemmap: memory savings for compound devmaps (device-dax)", v9.

This series minimizes 'struct page' overhead by pursuing a similar
approach as Muchun Song series "Free some vmemmap pages of hugetlb page"
(now merged since v5.14), but applied to devmap with @vmemmap_shift
(device-dax).  

The vmemmap dedpulication original idea (already used in HugeTLB) is to
reuse/deduplicate tail page vmemmap areas, particular the area which only
describes tail pages.  So a vmemmap page describes 64 struct pages, and
the first page for a given ZONE_DEVICE vmemmap would contain the head page
and 63 tail pages.  The second vmemmap page would contain only tail pages,
and that's what gets reused across the rest of the subsection/section. 
The bigger the page size, the bigger the savings (2M hpage -> save 6
vmemmap pages; 1G hpage -> save 4094 vmemmap pages).  

This is done for PMEM /specifically only/ on device-dax configured
namespaces, not fsdax.  In other words, a devmap with a @vmemmap_shift.

In terms of savings, per 1Tb of memory, the struct page cost would go down
with compound devmap:

* with 2M pages we lose 4G instead of 16G (0.39% instead of 1.5% of
  total memory)

* with 1G pages we lose 40MB instead of 16G (0.0014% instead of 1.5% of
  total memory)

The series is mostly summed up by patch 4, and to summarize what the
series does:

Patches 1 - 3: Minor cleanups in preparation for patch 4.  Move the very
nice docs of hugetlb_vmemmap.c into a Documentation/vm/ entry.

Patch 4: Patch 4 is the one that takes care of the struct page savings
(also referred to here as tail-page/vmemmap deduplication).  Much like
Muchun series, we reuse the second PTE tail page vmemmap areas across a
given @vmemmap_shift On important difference though, is that contrary to
the hugetlbfs series, there's no vmemmap for the area because we are
late-populating it as opposed to remapping a system-ram range.  IOW no
freeing of pages of already initialized vmemmap like the case for
hugetlbfs, which greatly simplifies the logic (besides not being
arch-specific).  altmap case unchanged and still goes via the
vmemmap_populate().  Also adjust the newly added docs to the device-dax
case.

[Note that device-dax is still a little behind HugeTLB in terms of
savings.  I have an additional simple patch that reuses the head vmemmap
page too, as a follow-up.  That will double the savings and namespaces
initialization.]

Patch 5: Initialize fewer struct pages depending on the page size with
DRAM backed struct pages -- because fewer pages are unique and most tail
pages (with bigger vmemmap_shift).

    NVDIMM namespace bootstrap improves from ~268-358 ms to
    ~80-110/<1ms on 128G NVDIMMs with 2M and 1G respectivally.  And struct
    page needed capacity will be 3.8x / 1071x smaller for 2M and 1G
    respectivelly.  Tested on x86 with 1.5Tb of pmem (including pinning,
    and RDMA registration/deregistration scalability with 2M MRs)


This patch (of 5):

In support of using compound pages for devmap mappings, plumb the pgmap
down to the vmemmap_populate implementation.  Note that while altmap is
retrievable from pgmap the memory hotplug code passes altmap without
pgmap[*], so both need to be independently plumbed.

So in addition to @altmap, pass @pgmap to sparse section populate
functions namely:

	sparse_add_section
	  section_activate
	    populate_section_memmap
   	      __populate_section_memmap

Passing @pgmap allows __populate_section_memmap() to both fetch the
vmemmap_shift in which memmap metadata is created for and also to let
sparse-vmemmap fetch pgmap ranges to co-relate to a given section and pick
whether to just reuse tail pages from past onlined sections.

While at it, fix the kdoc for @altmap for sparse_add_section().

[*] https://lore.kernel.org/linux-mm/20210319092635.6214-1-osalvador@suse.de/

Link: https://lkml.kernel.org/r/20220420155310.9712-1-joao.m.martins@oracle.com
Link: https://lkml.kernel.org/r/20220420155310.9712-2-joao.m.martins@oracle.com
Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jane Chu <jane.chu@oracle.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-04-28 23:16:15 -07:00
..
amba
atomic
avf
bcma
byteorder
can
ceph
clk RTC for 5.18 2022-04-01 09:37:18 -07:00
comedi
crush
decompress
device
dma
dsa
extcon
firmware Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
fpga
fsl
gpio intel-gpio for v5.18-2 2022-04-16 21:57:00 +02:00
greybus
hsi
i3c I3C for 5.18 2022-03-30 10:36:41 -07:00
iio
input Input: extract ChromeOS vivaldi physmap show function 2022-03-14 21:11:09 -07:00
irqchip
isdn
lockd
mailbox
mdio
mfd - New Drivers 2022-03-25 13:56:18 -07:00
mlx4
mlx5 Networking changes for 5.18. 2022-03-24 13:13:26 -07:00
mmc mmc: core: improve API to make clear mmc_hw_reset is for cards 2022-04-08 11:00:08 +02:00
mtd mtd: fix 'part' field data corruption in mtd_info 2022-04-21 09:29:05 +02:00
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
perf RISC-V Patches for the 5.18 Merge Window, Part 1 2022-03-25 10:11:38 -07:00
phy
pinctrl
platform_data Core MTD changes: 2022-03-25 13:35:34 -07:00
power
qed
raid
regulator
remoteproc
reset
rpmsg
rtc rtc: ds1685: drop no_irq 2022-03-23 19:58:38 +01:00
sched mm, hugetlb: allow for "high" userspace addresses 2022-04-21 20:01:09 -07:00
soc There's one large change in the core clk framework here. We change how 2022-03-30 10:11:04 -07:00
soundwire
spi Core MTD changes: 2022-03-25 13:35:34 -07:00
ssb
sunrpc NFSD bug fixes for 5.18-rc: 2022-04-12 14:23:19 -10:00
surface_aggregator
ulpi
unaligned
usb usb: early: xhci-dbc: Remove duplicate keep parsing 2022-03-15 18:20:34 +01:00
8250_pci.h
a.out.h
acct.h
acpi.h platform-drivers-x86 for v5.18-1 2022-03-25 12:14:39 -07:00
acpi_agdi.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
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple-mailbox.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_ffa.h
arm_sdei.h
armada-37xx-rwtm-mailbox.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
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-mci.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 remove congestion tracking framework 2022-03-22 15:57:01 -07:00
backing-dev.h remove congestion tracking framework 2022-03-22 15:57:01 -07:00
backlight.h
badblocks.h
balloon_compaction.h mm/balloon_compaction: make balloon page compaction callbacks static 2022-03-28 16:52:57 -04:00
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h SCSI misc on 20220324 2022-03-24 19:37:53 -07:00
bit_spinlock.h
bitfield.h bitfield: add explicit inclusions to the example 2022-03-23 19:00:33 -07:00
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h block: avoid calling blkg_free() in atomic context 2022-03-22 19:52:23 -06:00
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h dm: fix dm_io and dm_target_io flags race condition on Alpha 2022-04-01 13:19:27 -04:00
blkdev.h for-5.18/write-streams-2022-03-18 2022-03-26 11:51: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-netns.h
bpf.h Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-03-22 11:18:49 -07:00
bpf_lirc.h
bpf_local_storage.h bpf: Enable non-atomic allocations in local storage 2022-03-20 18:55:05 -07:00
bpf_lsm.h
bpf_trace.h
bpf_types.h bpf: Add multi kprobe link 2022-03-17 20:17:18 -07:00
bpf_verifier.h bpf: Resolve to prog->aux->dst_prog->type only for BPF_PROG_TYPE_EXT 2022-03-30 19:31:30 -07:00
bpfilter.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 fs: Convert __set_page_dirty_buffers to block_dirty_folio 2022-03-16 13:37:04 -04:00
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h cacheflush.h: Add forward declaration for struct folio 2022-03-23 10:11:03 -07:00
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h x86/ibt: Ensure module init/exit points have references 2022-03-15 10:32:42 +01:00
cgroup-defs.h
cgroup.h cgroup: Fix suspicious rcu_dereference_check() usage warning 2022-03-12 13:22:11 +01:00
cgroup_api.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
clk-provider.h Merge branches 'clk-mvebu', 'clk-const', 'clk-imx' and 'clk-rockchip' into clk-next 2022-03-29 10:18:56 -07:00
clk.h clk: Add clk_drop_range 2022-03-11 19:15:03 -08:00
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
cm4000_cs.h
cma.h hardening updates for v5.18-rc1-fix1 2022-03-31 11:43:01 -07:00
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h Networking changes for 5.18. 2022-03-24 13:13:26 -07:00
compiler-intel.h
compiler-version.h
compiler.h x86,objtool: Move the ASM_REACHABLE annotation to objtool.h 2022-03-15 10:32:45 +01:00
compiler_attributes.h
compiler_types.h Merge branch 'akpm' (patches from Andrew) 2022-03-24 14:14:07 -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_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h coresight: Drop unused 'none' enum value for each component 2022-03-11 10:07:57 +00:00
count_zeros.h
counter.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h RISC-V Patches for the 5.18 Merge Window, Part 1 2022-03-25 10:11:38 -07:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h
cpumask_api.h
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h x86: Mark __invalid_creds() __noreturn 2022-03-15 10:32:44 +01:00
crypto.h
cs5535.h
ctype.h
cuda.h
damon.h mm/damon/core: add number of each enum type values 2022-03-22 15:57:13 -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-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h SCSI misc on 20220324 2022-03-24 19:37:53 -07:00
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
dm9000.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h dma-buf: add dma_fence_unwrap v2 2022-03-25 14:18:28 +01:00
dma-fence-chain.h dma-buf: add dma_fence_unwrap v2 2022-03-25 14:18:28 +01:00
dma-fence-unwrap.h dma-buf: add dma_fence_unwrap v2 2022-03-25 14:18:28 +01:00
dma-fence.h
dma-heap.h
dma-iommu.h
dma-map-ops.h
dma-mapping.h Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" 2022-03-28 11:37:05 -07:00
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.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
eeprom_93xx46.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 ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
entry-kvm.h resume_user_mode: Move to resume_user_mode.h 2022-03-10 16:51:50 -06:00
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
export.h
exportfs.h
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 mm, fault-injection: declare should_fail_alloc_page() 2022-03-22 15:57:07 -07:00
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
fileattr.h
filter.h bpf: Fix net.core.bpf_jit_harden race 2022-03-16 15:13:36 -07:00
find.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h
fprobe.h fprobe: Introduce FPROBE_FL_KPROBE_SHARED flag for fprobe 2022-03-17 20:17:02 -07:00
freelist.h
freezer.h
frontswap.h
fs.h filemap: Remove AOP_FLAG_CONT_EXPAND 2022-04-01 14:40:44 -04:00
fs_api.h
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h fscache: Remove the cookie parameter from fscache_clear_page_bits() 2022-04-08 23:54:37 +01:00
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
fsverity.h fs: Remove ->readpages address space operation 2022-04-01 13:45:33 -04:00
ftrace.h Updates to Tracing: 2022-04-03 12:26:01 -07:00
ftrace_irq.h
futex.h
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: Add vma_alloc_folio() 2022-04-07 09:43:41 -04:00
gfp_api.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h highmem: document kunmap_local() 2022-03-22 15:57:11 -07:00
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h crypto: hisilicon/qm: Set the VF QM state register 2022-03-15 11:34:09 -06:00
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
htcpld.h
huge_mm.h mm/huge_memory: make is_transparent_hugepage() static 2022-03-24 19:06:50 -07:00
hugetlb.h mm: hugetlb_vmemmap: cleanup CONFIG_HUGETLB_PAGE_FREE_VMEMMAP* 2022-04-28 23:16:15 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h i2c: add tracepoints for I2C slave events 2022-03-20 00:11:05 +01:00
i8042.h
i8253.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit() 2022-03-16 19:38:41 -07:00
if_bridge.h net: bridge: mst: Add helper to query a port's MST state 2022-03-17 16:49:58 -07:00
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_ltalk.h
if_macvlan.h net: macvlan: add net device refcount tracker 2022-03-14 10:06:54 +00:00
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.h: improve __setup and early_param documentation 2022-03-23 19:00:34 -07:00
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
integrity.h
intel-iommu.h
intel-ish-client-if.h
intel-svm.h
intel_rapl.h
intel_th.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
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioasid.h
iocontext.h
iomap.h iomap: Remove iomap_invalidatepage() 2022-03-15 08:23:29 -04:00
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iosys-map.h
iova.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
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
iversion.h
jbd2.h Filesystem folio changes for 5.18 2022-03-22 18:26:56 -07:00
jhash.h
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 kasan: move and hide kasan_save_enable/restore_multi_shot 2022-03-24 19:06:50 -07: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-page-flags.h
kernel.h hex2bin: make the function hex_to_bin constant-time 2022-04-27 10:57:33 -07:00
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h kernfs: remove unneeded #if 0 guard 2022-03-18 09:47:04 +01:00
kexec.h kexec: make crashk_res, crashk_low_res and crash_notes symbols always visible 2022-03-23 19:00:34 -07:00
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h mm, kfence: support kmem_dump_obj() for KFENCE objects 2022-04-15 14:49:55 -07:00
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h kobject: kobj_type: remove default_attrs 2022-04-05 15:39:19 +02:00
kobject_api.h
kobject_ns.h
kprobes.h kprobes: Use rethook for kretprobe if possible 2022-03-28 19:38:09 -07:00
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm/rmap: Constify the rmap_walk_control argument 2022-03-21 13:01:35 -04:00
kstrtox.h
kthread.h linux/kthread.h: remove unused macros 2022-03-22 15:57:00 -07:00
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h KVM: SEV: add cache flush to solve SEV cache incoherency issues 2022-04-21 15:41:00 -04:00
kvm_irqfd.h
kvm_para.h
kvm_types.h KVM: Remove dirty handling from gfn_to_pfn_cache completely 2022-04-02 05:34:41 -04:00
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-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h ata changes for 5.18-rc1 2022-03-23 14:35:59 -07:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
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 mm: list_lru: rename list_lru_per_memcg to list_lru_memcg 2022-03-22 15:57:03 -07:00
list_nulls.h
list_sort.h
litex.h
livepatch.h
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h Revert "locking/local_lock: Make the empty local_lock_*() function a macro." 2022-04-05 09:59:39 +02:00
lockdep.h net: Revert the softirq will run annotation in ____napi_schedule(). 2022-03-21 12:07:05 -07:00
lockdep_api.h
lockdep_types.h
lockref.h
log2.h ilog2: force inlining of __ilog2_u32() and __ilog2_u64() 2022-03-23 19:00:33 -07:00
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h selinux/stable-5.18 PR 20220321 2022-03-21 20:47:54 -07:00
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple.h
marvell_phy.h
math.h
math64.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h rtc: mc146818-lib: Fix the AltCentury for AMD platforms 2022-03-29 22:45:31 +02:00
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm/memcontrol.c: make cgroup_memory_noswap static 2022-04-28 23:16:00 -07:00
memfd.h
memory.h drivers/base/memory: determine and store zone for single-zone memory blocks 2022-03-22 15:57:10 -07:00
memory_hotplug.h mm/sparse-vmemmap: add a pgmap argument to section activation 2022-04-28 23:16:15 -07:00
mempolicy.h
mempool.h
memregion.h
memremap.h mm: Add three folio wrappers 2022-03-21 12:57:38 -04:00
memstick.h
mhi.h
micrel_phy.h
microchipphy.h
migrate.h mm: untangle config dependencies for demote-on-reclaim 2022-04-28 23:16:09 -07:00
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 mm/sparse-vmemmap: add a pgmap argument to section activation 2022-04-28 23:16:15 -07:00
mm_api.h
mm_inline.h Folio changes for 5.18 2022-03-22 17:03:12 -07:00
mm_types.h Folio changes for 5.18 2022-03-22 17:03:12 -07:00
mm_types_task.h
mman.h mm/mmap: drop arch_vm_get_page_pgprot() 2022-04-28 23:16:14 -07:00
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning 2022-04-08 14:20:36 -10:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h ACPI: allow longer device IDs 2022-03-12 18:00:56 -07:00
module.h
module_signature.h
moduleloader.h
moduleparam.h
most.h
mount.h
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
mtio.h
mutex.h
mutex_api.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
ndctl.h
net.h fs, net: Move read_descriptor_t to net.h 2022-04-01 14:40:44 -04:00
netdev_features.h
netdevice.h net: Use this_cpu_inc() to increment net->core_stats 2022-04-26 17:32:30 -07:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h netfilter: egress: Report interface as outgoing 2022-03-24 15:09:53 +01:00
netfs.h netfs: Keep track of the actual remote file size 2022-03-18 09:29:05 +00:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h NFS client updates for Linux 5.18 2022-03-29 18:55:37 -07:00
nfs_fs_i.h
nfs_fs_sb.h NFS client updates for Linux 5.18 2022-03-29 18:55:37 -07:00
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h NFS: Ensure rpc_run_task() cannot fail in nfs_async_rename() 2022-04-07 16:20:00 -04:00
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h drivers/base/node: rename link_mem_sections() to register_memory_block_under_node() 2022-03-22 15:57:10 -07:00
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h for-5.18/drivers-2022-04-01 2022-04-01 16:26:57 -07:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
objtool.h x86,objtool: Move the ASM_REACHABLE annotation to objtool.h 2022-03-15 10:32:45 +01:00
of.h Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs" 2022-03-21 11:35:29 -05:00
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
packing.h
padata.h
page-flags-layout.h
page-flags.h mm: hugetlb_vmemmap: cleanup CONFIG_HUGETLB_PAGE_FREE_VMEMMAP* 2022-04-28 23:16:15 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h mm: enforce pageblock_order < MAX_ORDER 2022-03-22 15:57:06 -07:00
pagemap.h readahead: Remove read_cache_pages() 2022-04-01 13:45:08 -04:00
pagevec.h
pagewalk.h
panic.h
panic_notifier.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-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h PCI: Remove the deprecated "pci-dma-compat.h" API 2022-03-30 07:22:13 +02:00
pci_hotplug.h
pci_ids.h pci-v5.18-changes 2022-03-25 13:02:05 -07:00
pcs-lynx.h
pda_power.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_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h
pgtable_api.h
phonet.h
phy.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-03-10 17:16:56 -08:00
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm-trace.h
pm.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h ptrace: Cleanups for v5.18 2022-03-28 17:29:53 -07:00
posix_acl.h
posix_acl_xattr.h fs: fix acl translation 2022-04-19 10:19:02 -07:00
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.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
pruss_driver.h
psci.h
pseudo_fs.h
psi.h headers/prep: Fix header to build standalone: <linux/psi.h> 2022-03-21 11:13:49 +01:00
psi_types.h
psp-sev.h
psp-tee.h
pstore.h pstore: Don't use semaphores in always-atomic-context code 2022-03-15 11:08:23 -07:00
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_pch.h
ptr_ring.h
ptrace.h ptrace: Return the signal to continue with from ptrace_stop 2022-03-18 09:52:10 -05:00
ptrace_api.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h Revert "random: block in /dev/urandom" 2022-03-22 09:17:20 -07:00
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_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcupdate_trace.h
rcupdate_wait.h
rcutiny.h
rcutree.h RCU pull request for v5.18 2022-03-21 14:00:56 -07:00
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
regmap.h regmap: allow a defined reg_base to be added to every address 2022-03-18 16:53:19 +00:00
regset.h
relay.h
remoteproc.h remoteproc: Change rproc_shutdown() to return a status 2022-03-11 14:31:55 -06:00
resctrl.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h resume_user_mode: Move to resume_user_mode.h 2022-03-10 16:51:50 -06:00
rethook.h rethook: Add a generic return hook 2022-03-17 20:16:29 -07:00
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm: rmap: introduce pfn_mkclean_range() to cleans PTEs 2022-04-28 23:16:10 -07:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h rtc: remove uie_unsupported 2022-03-23 19:58:41 +01:00
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h
s3c_adc_battery.h
sbitmap.h lib/sbitmap: allocate sb->map via kvzalloc_node 2022-03-21 20:01:34 -06:00
scatterlist.h
scc.h
sched.h oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup 2022-04-21 20:01:10 -07:00
sched_clock.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
seccomp.h
secretmem.h
securebits.h
security.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: 8250: fix XOFF/XON sending when DMA is used 2022-03-18 13:30:54 +01:00
serial_max3100.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 mm: shmem: make shmem_init return void 2022-04-28 23:15:58 -07:00
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-03-22 11:18:49 -07:00
skmsg.h bpf, sockmap: Fix memleak in sk_psock_queue_msg 2022-03-15 16:43:31 +01:00
slab.h slab updates for 5.18 2022-03-23 12:33:21 -07:00
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h lib/sort: Add priv pointer to swap function 2022-03-17 20:17:18 -07:00
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
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: Remove __DEFINE_STATIC_CALL macro 2022-04-05 09:59:38 +02:00
static_call_types.h
static_key.h
stdarg.h
stddef.h include: drop pointless __compiler_offsetof indirection 2022-03-23 19:00:33 -07:00
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h mm/swapfile: remove stale reuse_swap_page() 2022-03-24 19:06:51 -07:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h
syscalls.h
syscalls_api.h
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h block: move lower_48_bits() to block 2022-04-11 19:18:27 -06:00
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_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h mm: uninline copy_overflow() 2022-03-22 15:57:11 -07:00
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
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h random: make random_get_entropy() return an unsigned long 2022-04-13 13:58:57 +02:00
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h Networking changes for 5.18. 2022-03-24 13:13:26 -07:00
trace_recursion.h
trace_seq.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
typecheck.h
types.h lib/sort: Add priv pointer to swap function 2022-03-17 20:17:18 -07:00
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h asm-generic updates for 5.18 2022-03-23 18:03:08 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
unicode.h
units.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_events.h tracing: mark user_events as BROKEN 2022-04-02 10:32:14 -07:00
user_namespace.h
userfaultfd_k.h
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h vdpa: change the type of nvqs to u32 2022-03-28 16:53:00 -04:00
verification.h
vermagic.h
vexpress.h
vfio.h
vfio_pci_core.h vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used 2022-04-13 11:37:44 -06:00
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h Revert "virtio_config: introduce a new .enable_cbs method" 2022-03-30 04:18:14 -04:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h mm/vmstat: add event for ksm swapping in copy 2022-03-22 15:57:09 -07:00
vmacache.h
vmalloc.h vmalloc: replace VM_NO_HUGE_VMAP with VM_ALLOW_HUGE_VMAP 2022-04-19 12:08:57 -07:00
vme.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-gpio.h
w1.h
wait.h
wait_api.h
wait_bit.h
watch_queue.h watch_queue: Fix filter limit check 2022-03-11 10:17:12 -08:00
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
workqueue_api.h
writeback.h
ww_mutex.h
wwan.h
xarray.h XArray update for 5.18: 2022-04-01 13:40:44 -07:00
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zutil.h