twx-linux/include/linux
Oscar Salvador a08a2ae346 mm,memory_hotplug: allocate memmap from the added memory range
Physical memory hotadd has to allocate a memmap (struct page array) for
the newly added memory section.  Currently, alloc_pages_node() is used
for those allocations.

This has some disadvantages:
 a) an existing memory is consumed for that purpose
    (eg: ~2MB per 128MB memory section on x86_64)
    This can even lead to extreme cases where system goes OOM because
    the physically hotplugged memory depletes the available memory before
    it is onlined.
 b) if the whole node is movable then we have off-node struct pages
    which has performance drawbacks.
 c) It might be there are no PMD_ALIGNED chunks so memmap array gets
    populated with base pages.

This can be improved when CONFIG_SPARSEMEM_VMEMMAP is enabled.

Vmemap page tables can map arbitrary memory.  That means that we can
reserve a part of the physically hotadded memory to back vmemmap page
tables.  This implementation uses the beginning of the hotplugged memory
for that purpose.

There are some non-obviously things to consider though.

Vmemmap pages are allocated/freed during the memory hotplug events
(add_memory_resource(), try_remove_memory()) when the memory is
added/removed.  This means that the reserved physical range is not
online although it is used.  The most obvious side effect is that
pfn_to_online_page() returns NULL for those pfns.  The current design
expects that this should be OK as the hotplugged memory is considered a
garbage until it is onlined.  For example hibernation wouldn't save the
content of those vmmemmaps into the image so it wouldn't be restored on
resume but this should be OK as there no real content to recover anyway
while metadata is reachable from other data structures (e.g.  vmemmap
page tables).

The reserved space is therefore (de)initialized during the {on,off}line
events (mhp_{de}init_memmap_on_memory).  That is done by extracting page
allocator independent initialization from the regular onlining path.
The primary reason to handle the reserved space outside of
{on,off}line_pages is to make each initialization specific to the
purpose rather than special case them in a single function.

As per above, the functions that are introduced are:

 - mhp_init_memmap_on_memory:
   Initializes vmemmap pages by calling move_pfn_range_to_zone(), calls
   kasan_add_zero_shadow(), and onlines as many sections as vmemmap pages
   fully span.

 - mhp_deinit_memmap_on_memory:
   Offlines as many sections as vmemmap pages fully span, removes the
   range from zhe zone by remove_pfn_range_from_zone(), and calls
   kasan_remove_zero_shadow() for the range.

The new function memory_block_online() calls mhp_init_memmap_on_memory()
before doing the actual online_pages().  Should online_pages() fail, we
clean up by calling mhp_deinit_memmap_on_memory().  Adjusting of
present_pages is done at the end once we know that online_pages()
succedeed.

On offline, memory_block_offline() needs to unaccount vmemmap pages from
present_pages() before calling offline_pages().  This is necessary because
offline_pages() tears down some structures based on the fact whether the
node or the zone become empty.  If offline_pages() fails, we account back
vmemmap pages.  If it succeeds, we call mhp_deinit_memmap_on_memory().

Hot-remove:

 We need to be careful when removing memory, as adding and
 removing memory needs to be done with the same granularity.
 To check that this assumption is not violated, we check the
 memory range we want to remove and if a) any memory block has
 vmemmap pages and b) the range spans more than a single memory
 block, we scream out loud and refuse to proceed.

 If all is good and the range was using memmap on memory (aka vmemmap pages),
 we construct an altmap structure so free_hugepage_table does the right
 thing and calls vmem_altmap_free instead of free_pagetable.

Link: https://lkml.kernel.org/r/20210421102701.25051-5-osalvador@suse.de
Signed-off-by: Oscar Salvador <osalvador@suse.de>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-05-05 11:27:26 -07:00
..
amba spi: Updates for v5.13 2021-04-26 16:32:11 -07:00
avf ice: Enable RSS configure for AVF 2021-04-22 09:26:22 -07:00
bcma
byteorder
can
ceph
clk
crush
decompress
device
dma
dsa net: dsa: free skb->cb usage in core driver 2021-04-27 14:10:15 -07:00
extcon
firmware ARM: SoC drivers for v5.13 2021-04-26 12:11:52 -07:00
fpga
fsl soc: fsl: guts: fix comment syntax in file 2021-04-06 15:33:32 -05:00
gpio
greybus
hsi
i3c
iio dt-bindings:iio:dac: update microchip,mcp4725.yaml reference 2021-04-07 08:36:38 +01:00
input
irqchip ARM: platform support for Apple M1 2021-04-26 12:30:36 -07:00
isdn
lockd
mailbox
mdio
mfd - Core Frameworks 2021-04-28 15:59:13 -07:00
mlx4
mlx5 net/mlx5: E-Switch, Prepare to return total vports from eswitch struct 2021-04-24 00:58:43 -07:00
mmc mmc: core: Convert mmc_of_parse_voltage() to use device property API 2021-04-23 09:29:49 +02:00
mtd mtd: core: Constify buf in mtd_write_user_prot_reg() 2021-04-16 20:30:54 +02:00
mux
net/intel
netfilter netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
netfilter_arp netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
netfilter_bridge netfilter: ebtables: remove the 3 ebtables pointers from struct net 2021-04-26 03:20:07 +02:00
netfilter_ipv4 netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
netfilter_ipv6 netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
pcs
perf
phy
pinctrl
platform_data Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
power
qed net: qed: remove unused including <linux/version.h> 2021-04-08 13:26:22 -07:00
raid
regulator regulator: core: Fix off_on_delay handling 2021-04-23 13:18:35 +01:00
remoteproc
reset
rpmsg
rtc
sched mm: honor PF_MEMALLOC_PIN for all movable pages 2021-05-05 11:27:26 -07:00
soc
soundwire soundwire: add static port mapping support 2021-04-06 10:22:02 +05:30
spi MMC core: 2021-04-28 15:56:51 -07:00
ssb
sunrpc
surface_aggregator
ulpi
unaligned
usb Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h Merge branches 'acpi-cppc', 'acpi-video' and 'acpi-utils' 2021-04-26 17:04:27 +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
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_sdei.h
arm-cci.h
arm-smccc.h
armada-37xx-rwtm-mailbox.h treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h lib: Add ASN.1 encoder 2021-04-14 16:30:30 +03:00
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-mci.h
atmel-ssc.h
atomic-arch-fallback.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h block: move bio_list_copy_data to pktcdvd 2021-04-12 09:19:58 -06:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h
blk-cgroup.h
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blkdev.h for-5.13/drivers-2021-04-27 2021-04-28 14:39:37 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bottom_half.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_trace.h
bpf_types.h
bpf_verifier.h bpf: Return target info when a tracing bpf_link is queried 2021-04-13 18:18:57 -07:00
bpf-cgroup.h bpf, cgroup: Delete repeated struct bpf_prog declaration 2021-04-03 01:43:49 +02:00
bpf-netns.h
bpf.h Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf_ids.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h mm: fs: invalidate BH LRU during page migration 2021-05-05 11:27:24 -07:00
bug.h
build_bug.h
build-salt.h
buildid.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h add support for Clang CFI 2021-04-08 16:04:20 -07:00
cgroup_rdma.h
cgroup_subsys.h cgroup: Add misc cgroup controller 2021-04-04 13:34:46 -04:00
cgroup-defs.h
cgroup.h
circ_buf.h
cleancache.h
clk-provider.h clk: divider: add devm_clk_hw_register_divider 2021-04-07 11:05:44 -07:00
clk.h
clkdev.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h mm: use proper type for cma_[alloc|release] 2021-05-05 11:27:24 -07:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h mm/compaction: remove unused variable sysctl_compact_memory 2021-05-05 11:27:24 -07:00
compat.h signal, perf: Fix siginfo_t by avoiding u64 on 32-bit architectures 2021-04-23 09:03:16 +02:00
compiler_attributes.h
compiler_types.h cfi: add __cficanonical 2021-04-08 16:04:20 -07:00
compiler-clang.h cfi: add __cficanonical 2021-04-08 16:04:20 -07:00
compiler-gcc.h include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*() 2021-04-30 11:20:35 -07:00
compiler-intel.h
compiler-version.h kbuild: redo fake deps at include/config/*.h 2021-04-25 05:26:10 +09:00
compiler.h
completion.h
component.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter_enum.h
counter.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq.h
cpuhotplug.h ARM: platform support for Apple M1 2021-04-26 12:30:36 -07:00
cpuidle_haltpoll.h
cpuidle.h cpuidle: Use s64 as exit_latency_ns and target_residency_ns data type 2021-04-07 19:26:44 +02:00
cpumask.h The x86 MM changes in this cycle were: 2021-04-29 11:41:43 -07:00
cpuset.h
crash_core.h
crash_dump.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
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h debugfs: Implement debugfs_create_str() 2021-04-16 17:06:34 +02:00
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
devm-helpers.h devm-helpers: Fix devm_delayed_work_autocancel() kerneldoc 2021-04-22 08:20:15 +02:00
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
dma-buf-map.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h drm/syncobj: use newly allocated stub fences 2021-04-08 12:21:13 +02:00
dma-heap.h
dma-iommu.h
dma-map-ops.h
dma-mapping.h
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_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
eeprom_93xx46.h
efi_embedded_fw.h
efi-bgrt.h
efi.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote-lto.h kbuild: add an elfnote for whether vmlinux is built with lto 2021-04-25 05:25:42 +09:00
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_netlink.h
ethtool.h ethtool: add interface to read RMON stats 2021-04-16 16:59:20 -07:00
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
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
fileattr.h vfs: add fileattr ops 2021-04-12 15:04:23 +02:00
filter.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h
freelist.h
freezer.h freezer: Remove unused inline function try_to_freeze_nowarn() 2021-04-08 19:12:20 +02:00
frontswap.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
fs.h mm: remove nrexceptional from inode 2021-05-05 11:27:20 -07:00
fscache-cache.h fscache, cachefiles: Add alternate API to use kiocb for read/write to cache 2021-04-23 10:14:32 +01:00
fscache.h fscache, cachefiles: Add alternate API to use kiocb for read/write to cache 2021-04-23 10:14:32 +01:00
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
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h block: remove disk_part_iter 2021-04-08 10:24:36 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: use proper type for cma_[alloc|release] 2021-05-05 11:27:24 -07:00
glob.h
gnss.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h
greybus.h
hardirq.h
hash.h
hashtable.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.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_defs.h
hrtimer.h
htcpld.h
huge_mm.h mm/huge_memory.c: remove unused macro TRANSPARENT_HUGEPAGE_DEBUG_COW_FLAG 2021-05-05 11:27:21 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h userfaultfd: add UFFDIO_CONTINUE ioctl 2021-05-05 11:27:22 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
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
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h
ieee80211.h wireless: fix spelling of A-MSDU in HE capabilities 2021-04-19 12:50:15 +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_ltalk.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
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 cfi: add __cficanonical 2021-04-08 16:04:20 -07:00
initrd.h
inotify.h
input.h
instrumentation.h
instrumented.h
integrity.h
intel_rapl.h powercap: RAPL: Fix struct declaration in header file 2021-04-08 19:09:02 +02:00
intel_th.h
intel-iommu.h
intel-ish-client-if.h
intel-svm.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io_uring.h io_uring: unify files and task cancel 2021-04-11 19:30:41 -06:00
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h mm: add a io_mapping_map_user helper 2021-04-30 11:20:39 -07:00
io-pgtable.h
io.h mm: HUGE_VMAP arch support cleanup 2021-04-30 11:20:40 -07:00
ioasid.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h ACPI updates for 5.13-rc1 2021-04-26 15:03:23 -07:00
ioprio.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 arm64 updates for 5.13: 2021-04-26 10:25:03 -07:00
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h irqdomain: Get rid of irq_create_strict_mappings() 2021-04-22 15:55:22 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h jump_label: Provide CONFIG-driven build state defaults 2021-04-08 14:05:19 +02:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h kasan, mm: integrate slab init_on_free with HW_TAGS 2021-04-30 11:20:41 -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_read_file.h
kernel_stat.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
keyslot-manager.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_dirty_ring.h
kvm_host.h
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-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h lightnvm: remove duplicate include in lightnvm.h 2021-04-13 09:16:12 -06:00
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 treewide: Change list_sort to use const pointers 2021-04-08 16:04:22 -07:00
list.h
litex.h
livepatch.h
llc.h
llist.h
local_lock_internal.h
local_lock.h
lockdep_types.h
lockdep.h Locking changes for this cycle were: 2021-04-28 12:37:53 -07:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h net: phy: marvell: add support for Amethyst internal PHY 2021-04-20 16:27:54 -07:00
math64.h
math.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h vfio/mdev: Correct the function signatures for the mdev_type_attributes 2021-04-12 10:36:00 -06:00
mdio-bitbang.h net: phy: Add support for microchip SMI0 MDIO bus 2021-04-27 14:13:24 -07:00
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h mm: memcontrol: reparent nr_deferred when memcg offline 2021-05-05 11:27:23 -07:00
memfd.h
memory_hotplug.h mm,memory_hotplug: allocate memmap from the added memory range 2021-05-05 11:27:26 -07:00
memory.h mm,memory_hotplug: allocate memmap from the added memory range 2021-05-05 11:27:26 -07:00
mempolicy.h
mempool.h
memregion.h
memremap.h mm,memory_hotplug: allocate memmap from the added memory range 2021-05-05 11:27:26 -07:00
memstick.h
mhi.h bus: mhi: fix typo in comments for struct mhi_channel_config 2021-04-09 18:48:22 +05:30
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm/gup: migrate pinned pages out of movable zone 2021-05-05 11:27:26 -07:00
mii_timestamper.h
mii.h
min_heap.h
minmax.h
misc_cgroup.h cgroup: misc: mark dummy misc_cg_res_total_usage() static inline 2021-04-04 18:29:37 -04:00
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h
mm.h mm/gup: do not migrate zero page 2021-05-05 11:27:26 -07:00
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm,memory_hotplug: allocate memmap from the added memory range 2021-05-05 11:27:26 -07:00
mnt_namespace.h
mod_devicetable.h
module_signature.h
module.h add support for Clang CFI 2021-04-08 16:04:20 -07:00
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
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.h
mtio.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h libnvdimm: Notify disk drivers to revalidate region read-only 2021-04-08 22:18:36 -07:00
ndctl.h
net.h
netdev_features.h
netdevice.h net: remove the new_ifindex argument from dev_change_net_namespace 2021-04-07 14:43:28 -07:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netfs.h netfs: Define an interface to talk to a cache 2021-04-23 10:14:32 +01:00
netlink.h netlink: simplify nl_set_extack_cookie_u64(), nl_set_extack_cookie_u32() 2021-04-19 15:41:28 -07:00
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.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: implement non-mdts command limits 2021-04-06 08:34:39 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.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: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h of: linux/of.h: fix kernel-doc warnings 2021-04-21 10:24:41 -05:00
oid_registry.h Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2021-04-26 08:51:23 -07:00
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h
padata.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page-flags-layout.h include/linux/page-flags-layout.h: cleanups 2021-04-30 11:20:42 -07:00
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h mm: introduce and use mapping_empty() 2021-05-05 11:27:19 -07:00
pagevec.h
pagewalk.h pagewalk: prefix struct kernel-doc descriptions 2021-04-30 11:20:41 -07:00
parman.h
parport_pc.h
parport.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
pcs-lynx.h
pda_power.h
pe.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h perf: Extend PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE 2021-04-19 20:03:29 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgtable.h mm/gup: do not migrate zero page 2021-05-05 11:27:26 -07:00
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h net: phy: genphy_loopback: add link speed configuration 2021-04-20 16:08:02 -07:00
phylink.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Replace inline function pm_runtime_callbacks_present() 2021-04-08 19:14:46 +02:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h PM: core: Remove duplicate declaration from header file 2021-04-07 19:18:23 +02:00
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h power supply and reset changes for the v5.13 series 2021-04-28 15:43:58 -07: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
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h software node: Introduce SOFTWARE_NODE_REFERENCE() helper macro 2021-04-05 13:18:22 +02:00
pruss_driver.h
psci.h
pseudo_fs.h
psi_types.h
psi.h
psp-sev.h
psp-tee.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
pstore.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_pch.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qcom-geni-se.h Merge branch 'opp/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm 2021-04-12 14:49:31 +02:00
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
randomize_kstack.h stack: Optionally randomize kernel stack offset each syscall 2021-04-08 14:05:19 +02:00
range.h
ras.h
ratelimit_types.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_trace.h
rcupdate_wait.h
rcupdate.h RCU changes for this cycle were: 2021-04-28 12:00:13 -07:00
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h mm cma: rename PF_MEMALLOC_NOCMA to PF_MEMALLOC_PIN 2021-05-05 11:27:26 -07:00
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h seq_file: Add a seq_bprintf function 2021-04-27 15:50:15 -07:00
seqlock.h
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: do not restore interrupt state in sysrq helper 2021-04-22 12:04:26 +02:00
serial_max3100.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h
sfp.h phy: sfp: add netlink SFP support to generic SFP code 2021-04-11 16:34:56 -07:00
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 mm: vmscan: use a new flag to indicate shrinker is registered 2021-05-05 11:27:23 -07:00
signal_types.h
signal.h Scheduler updates for this cycle are: 2021-04-28 13:33:57 -07:00
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h
skmsg.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-04-25 18:02:32 -07:00
slab_def.h
slab.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp_types.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: Fix typo in comment about ancillary data 2021-04-26 13:04:19 -07:00
sockptr.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.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 fs: introduce a wrapper uuid_to_fsid() 2021-04-19 16:03:15 +02:00
static_call_types.h
static_call.h Locking changes for this cycle were: 2021-04-28 12:37:53 -07:00
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: Add HW descriptor prefetch setting for DWMAC Core 5.20 onwards 2021-04-22 15:02:40 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.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
swap_cgroup.h
swap_slots.h
swap.h mm: disable LRU pagevec during the migration temporarily 2021-05-05 11:27:24 -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.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h task_work: add helper for more targeted task_work canceling 2021-04-11 19:30:25 -06:00
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
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 time/timecounter: Mark 1st argument of timecounter_cyc2time() as const 2021-04-16 21:03:50 +02:00
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm_eventlog.h
tpm.h security: keys: trusted: Make sealed key properly interoperable 2021-04-14 16:30:30 +03:00
trace_clock.h
trace_events.h
trace_recursion.h
trace_seq.h
trace.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_driver.h tty: fix return value for unsupported ioctls 2021-04-10 10:36:34 +02:00
tty_flip.h
tty_ldisc.h
tty.h tty: clean include/linux/tty.h up 2021-04-15 10:32:17 +02:00
typecheck.h
types.h
u64_stats_sync.h
uacce.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h iov_iter: Four fixes for ITER_XARRAY 2021-04-26 22:55:12 +01:00
umh.h
unicode.h
units.h
uprobes.h
usb_usual.h
usb.h usb: Iterator for ports 2021-04-09 16:00:00 +02:00
usbdevice_fs.h
user_namespace.h \n 2021-04-29 11:06:13 -07:00
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: add UFFDIO_CONTINUE ioctl 2021-05-05 11:27:22 -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.h vfio: Remove device_data from the vfio bus driver API 2021-04-06 11:55:11 -06:00
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_dma_buf.h
virtio_net.h virtio_net: Do not pull payload in skb->head 2021-04-06 16:17:57 -07:00
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
virtio.h
visorbus.h
vlynq.h
vm_event_item.h x86/mm: track linear mapping split events 2021-05-05 11:27:25 -07:00
vmacache.h
vmalloc.h mm/vmalloc: remove unmap_kernel_range 2021-04-30 11:20:40 -07:00
vme.h
vmpressure.h
vmstat.h mm: page-writeback: simplify memcg handling in test_clear_page_writeback() 2021-04-30 11:20:37 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
w1.h
wait_bit.h
wait.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
wwan.h net: Add a WWAN subsystem 2021-04-16 15:31:02 -07:00
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h