linux-mainline/Documentation
Aneesh Kumar K.V 2d1f649c7c mm/memory_hotplug: support memmap_on_memory when memmap is not aligned to pageblocks
Currently, memmap_on_memory feature is only supported with memory block
sizes that result in vmemmap pages covering full page blocks.  This is
because memory onlining/offlining code requires applicable ranges to be
pageblock-aligned, for example, to set the migratetypes properly.

This patch helps to lift that restriction by reserving more pages than
required for vmemmap space.  This helps the start address to be page block
aligned with different memory block sizes.  Using this facility implies
the kernel will be reserving some pages for every memoryblock.  This
allows the memmap on memory feature to be widely useful with different
memory block size values.

For ex: with 64K page size and 256MiB memory block size, we require 4
pages to map vmemmap pages, To align things correctly we end up adding a
reserve of 28 pages.  ie, for every 4096 pages 28 pages get reserved.

Link: https://lkml.kernel.org/r/20230808091501.287660-5-aneesh.kumar@linux.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-21 13:37:49 -07:00
..
ABI Docs/ABI/damon: update for DAMON monitoring target type DAMOS filter 2023-08-21 13:37:38 -07:00
accel
accounting
admin-guide mm/memory_hotplug: support memmap_on_memory when memmap is not aligned to pageblocks 2023-08-21 13:37:49 -07:00
arch - Work around an erratum on GIC700, where a race between a CPU 2023-07-30 10:59:19 -07:00
block mm/page_io: introduce bio_first_folio_all() 2023-08-18 10:12:45 -07:00
bpf
cdrom
core-api
cpu-freq
crypto
dev-tools
devicetree Devicetree fixes for v6.5: 2023-07-22 10:28:22 -07:00
doc-guide
driver-api Fixes for pci_clean_master, error handling in driver inits, and various 2023-07-09 09:35:51 -07:00
fault-injection
fb
features arm64: support batched/deferred tlb shootdown during page reclamation/migration 2023-08-18 10:12:37 -07:00
filesystems tmpfs: fix Documentation of noswap and huge mount options 2023-07-27 13:07:03 -07:00
firmware_class
firmware-guide
fpga
gpu
hid
hwmon
i2c
iio
images
infiniband
input
isdn
kbuild
kernel-hacking
leds
litmus-tests
livepatch
locking
loongarch
maintainer
mhi
mips
misc-devices
mm Docs/mm/damon/design: update for DAMON monitoring target type DAMOS filter 2023-08-21 13:37:37 -07:00
netlabel
netlink
networking docs: net: clarify the NAPI rules around XDP Tx 2023-07-21 18:51:37 -07:00
nvdimm
nvme
PCI
pcmcia
peci
power
powerpc powerpc/book3s64/radix: add support for vmemmap optimization for radix 2023-08-18 10:12:55 -07:00
process Documentation: embargoed-hardware-issues.rst: add AMD to the list 2023-07-26 09:39:34 +02:00
RCU
riscv Documentation: RISC-V: hwprobe: Fix a formatting error 2023-07-11 10:43:51 -07:00
rust
s390
scheduler
scsi
security
sound
sphinx
sphinx-static
spi
staging
target
timers
tools
trace
translations mm: kill frontswap 2023-08-21 13:37:26 -07:00
usb
userspace-api
virt A half-dozen late arriving docs patches. They are mostly fixes, but we 2023-07-06 22:15:38 -07:00
w1
watchdog
wmi platform/x86: dell-ddv: Fix mangled list in documentation 2023-07-11 12:15:30 +02:00
.gitignore
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
docutils.conf
dontdiff
index.rst
Kconfig
Makefile
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst