linux/Documentation
Juergen Gross 3d995568c9 xen/balloon: add late_initcall_sync() for initial ballooning done
commit 40fdea0284bb20814399da0484a658a96c735d90 upstream.

When running as PVH or HVM guest with actual memory < max memory the
hypervisor is using "populate on demand" in order to allow the guest
to balloon down from its maximum memory size. For this to work
correctly the guest must not touch more memory pages than its target
memory size as otherwise the PoD cache will be exhausted and the guest
is crashed as a result of that.

In extreme cases ballooning down might not be finished today before
the init process is started, which can consume lots of memory.

In order to avoid random boot crashes in such cases, add a late init
call to wait for ballooning down having finished for PVH/HVM guests.

Warn on console if initial ballooning fails, panic() after stalling
for more than 3 minutes per default. Add a module parameter for
changing this timeout.

[boris: replaced pr_info() with pr_notice()]

Cc: <stable@vger.kernel.org>
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20211102091944.17487-1-jgross@suse.com
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-17 09:48:25 +01:00
..
ABI evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded 2021-07-14 16:53:08 +02:00
EDID
PCI Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-27 14:23:31 -07:00
RCU Merge branches 'consolidate.2019.08.01b', 'fixes.2019.08.12a', 'lists.2019.08.13a' and 'torture.2019.08.01b' into HEAD 2019-08-13 14:30:30 -07:00
accounting
admin-guide xen/balloon: add late_initcall_sync() for initial ballooning done 2021-11-17 09:48:25 +01:00
arm ARM: 9012/1: move device tree mapping out of linear region 2021-05-19 10:08:32 +02:00
arm64 userfaultfd: do not untag user pointers 2021-07-28 13:31:01 +02:00
block docs: block: null_blk: enhance document style 2019-09-11 16:04:22 -06:00
bpf bpf/flow_dissector: document flags 2019-07-25 18:00:41 -07:00
cdrom
core-api XArray: add xas_split 2021-06-10 13:37:14 +02:00
cpu-freq Documentation: cpufreq: Update policy notifier documentation 2019-09-02 22:44:05 +02:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-09-18 12:11:14 -07:00
dev-tools mm, page_owner: decouple freeing stack trace from debug_pagealloc 2019-10-14 15:04:00 -07:00
devicetree regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property 2021-11-17 09:48:22 +01:00
doc-guide
driver-api ata: make qc_prep return ata_completion_errors 2020-10-01 13:18:26 +02:00
fault-injection
fb fbdev: fix numbering of fbcon options 2020-02-24 08:36:42 +01:00
features It's a somewhat calmer cycle for docs this time, as the churn of the mass 2019-09-17 16:22:26 -07:00
filesystems sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output 2021-03-07 12:20:48 +01:00
firmware-guide Documentation: ACPI: DSD: Convert LED documentation to ReST 2019-08-20 23:53:46 +02:00
firmware_class
fpga Documentation: fpga: dfl: add descriptions for virtualization and new interfaces. 2019-09-03 19:35:42 -07:00
gpu Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
hid
hwmon hwmon: (max31790) Fix pwmX_enable attributes 2021-07-14 16:53:14 +02:00
i2c docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
ia64
ide
iio
infiniband Documentation/infiniband: update name of some functions 2019-09-13 16:55:55 -03:00
input Input: docs: fix spelling mistake "potocol" -> "protocol" 2019-08-06 11:24:49 -06:00
ioctl fs-verity: add UAPI header 2019-07-28 16:59:16 -07:00
isdn docs: isdn: convert to ReST and add to kAPI bookset 2019-07-31 13:30:25 -06:00
kbuild kbuild: support LLVM=1 to switch the default tools to Clang/LLVM 2020-08-26 10:40:47 +02:00
kernel-hacking docs: Add documentation for Symbol Namespaces 2019-09-10 10:30:49 +02:00
leds leds: core: Add support for composing LED class device names 2019-07-25 20:07:52 +02:00
livepatch
locking doc🔒 remove reference to clever use of read-write lock 2019-09-14 01:53:27 -06:00
m68k docs: README.buddha: convert to ReST and add to m68k book 2019-07-31 13:30:10 -06:00
maintainer docs: Fix typo on pull requests guide 2019-08-12 15:14:14 -06:00
media media: videodev2.h: RGB BT2020 and HSV are always full range 2020-11-05 11:43:15 +01:00
mic
mips Main MIPS changes for v5.4: 2019-09-22 09:30:30 -07:00
misc-devices Docs: misc: xilinx_sdfec: Add documentation 2019-08-15 17:54:38 +02:00
netlabel
networking can: j1939: swap addr and pgn in the send example 2020-11-18 19:20:19 +01:00
nios2 docs: nios2: add it to the main Documentation body 2019-07-31 13:31:51 -06:00
openrisc docs: openrisc: convert to ReST and add to documentation body 2019-07-31 13:30:20 -06:00
parisc docs: parisc: convert to ReST and add to documentation body 2019-07-31 13:30:15 -06:00
pcmcia
power Merge branches 'pm-opp', 'pm-qos', 'acpi-pm', 'pm-domains' and 'pm-tools' 2019-09-17 09:49:19 +02:00
powerpc docs: powerpc: Add missing documentation reference 2019-09-17 23:59:34 +10:00
process Documentation/process: Add fallthrough pseudo-keyword 2019-10-11 09:26:05 -07:00
riscv It's a somewhat calmer cycle for docs this time, as the churn of the mass 2019-09-17 16:22:26 -07:00
s390 Documentation/s390: remove outdated debugging390 documentation 2019-08-21 12:41:43 +02:00
scheduler sched/fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices 2019-08-08 09:09:30 +02:00
scsi scsi: smartpqi: Update attribute name to `driver_version` 2020-01-17 19:48:27 +01:00
security Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity 2019-09-27 19:37:27 -07:00
sh
sound ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups 2020-04-17 10:50:08 +02:00
sparc
sphinx tweewide: Fix most Shebang lines 2021-05-22 11:38:30 +02:00
sphinx-static
spi spi: docs: convert to ReST and add it to the kABI bookset 2019-07-31 14:13:13 -06:00
target tweewide: Fix most Shebang lines 2021-05-22 11:38:30 +02:00
timers
trace tracing/histogram: Rename "cpu" to "common_cpu" 2021-07-28 13:31:00 +02:00
translations doc: arm64: fix grammar dtb placed in no attributes region 2019-09-06 08:44:34 -06:00
usb USB: rio500: Remove Rio 500 kernel driver 2019-10-04 10:53:36 +02:00
userspace-api Documentation: seccomp: Fix user notification documentation 2021-06-03 08:59:03 +02:00
virt KVM: X86: MMU: Use the correct inherited permissions to get shadow page 2021-08-15 13:08:04 +02:00
virtual cpuidle: add haltpoll governor 2019-07-30 17:27:37 +02:00
vm mm/slub: clarify verification reporting 2021-06-23 14:41:30 +02:00
w1 docs: w1: convert to ReST and add to the kAPI group of docs 2019-07-31 14:16:17 -06:00
watchdog linux-watchdog 5.4-rc1 tag 2019-09-27 11:17:38 -07:00
x86 x86/CPU/AMD: Save AMD NodeId as cpu_die_id 2020-12-30 11:51:47 +01:00
xtensa xtensa: fix TLBTEMP area placement 2020-11-24 13:29:22 +01:00
.gitignore
COPYING-logo
Changes
CodingStyle
DMA-API-HOWTO.txt
DMA-API.txt dma-mapping: remove dma_release_declared_memory 2019-09-04 11:13:19 +02:00
DMA-ISA-LPC.txt
DMA-attributes.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
IRQ.txt
Kconfig
Makefile
SubmittingPatches
asm-annotations.rst linkage: Introduce new macros for assembler symbols 2020-11-10 12:37:24 +01:00
atomic_bitops.txt
atomic_t.txt
bus-virt-phys-mapping.txt
conf.py
crc32.txt
debugging-modules.txt
debugging-via-ohci1394.txt
digsig.txt
docutils.conf
dontdiff
futex-requeue-pi.txt
hwspinlock.txt
index.rst linkage: Introduce new macros for assembler symbols 2020-11-10 12:37:24 +01:00
io-mapping.txt
io_ordering.txt
irqflags-tracing.txt
kobject.txt
kprobes.txt
kref.txt
logo.gif
lzo.txt lib/lzo: fix ambiguous encoding bug in lzo-rle 2020-06-17 16:40:28 +02:00
mailbox.txt
memory-barriers.txt
nommu-mmap.txt
padata.txt padata: allocate workqueue internally 2019-09-13 21:15:39 +10:00
percpu-rw-semaphore.txt
pi-futex.txt
preempt-locking.txt
rbtree.txt
remoteproc.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
speculation.txt
static-keys.txt
tee.txt
this_cpu_ops.txt
unaligned-memory-access.txt
xz.txt