]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Sparsify the vm_page_dump bitmap
authorD Scott Phillips <scottph@FreeBSD.org>
Mon, 21 Sep 2020 22:21:59 +0000 (22:21 +0000)
committerD Scott Phillips <scottph@FreeBSD.org>
Mon, 21 Sep 2020 22:21:59 +0000 (22:21 +0000)
commit00e6614750deca2457373aecd5bfa7aebbde3865
tree73c950caf7bef81919555e2270ded794535c1b37
parentab041f713aeccdf23b4805ffb71815c8d4aa9c88
Sparsify the vm_page_dump bitmap

On Ampere Altra systems, the sparse population of RAM within the
physical address space causes the vm_page_dump bitmap to be much
larger than necessary, increasing the size from ~8 Mib to > 2 Gib
(and overflowing `int` for the size).

Changing the page dump bitmap also changes the minidump file
format, so changes are also necessary in libkvm.

Reviewed by: jhb
Approved by: scottl (implicit)
MFC after: 1 week
Sponsored by: Ampere Computing, Inc.
Differential Revision: https://reviews.freebsd.org/D26131
26 files changed:
lib/libkvm/kvm_minidump_aarch64.c
lib/libkvm/kvm_minidump_amd64.c
lib/libkvm/kvm_minidump_arm.c
lib/libkvm/kvm_minidump_i386.c
lib/libkvm/kvm_minidump_mips.c
lib/libkvm/kvm_minidump_powerpc64.c
lib/libkvm/kvm_minidump_riscv.c
lib/libkvm/kvm_private.c
lib/libkvm/kvm_private.h
sys/amd64/amd64/minidump_machdep.c
sys/amd64/include/minidump.h
sys/arm/arm/minidump_machdep.c
sys/arm/include/minidump.h
sys/arm64/arm64/minidump_machdep.c
sys/arm64/include/minidump.h
sys/i386/i386/minidump_machdep_base.c
sys/i386/include/minidump.h
sys/mips/include/minidump.h
sys/mips/mips/minidump_machdep.c
sys/powerpc/include/minidump.h
sys/powerpc/powerpc/minidump_machdep.c
sys/riscv/include/minidump.h
sys/riscv/riscv/minidump_machdep.c
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_phys.h