]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
acpi: Ensure that adjacent memory affinity table entries are coalesced
authormarkj <markj@FreeBSD.org>
Fri, 18 Dec 2020 16:04:48 +0000 (16:04 +0000)
committermarkj <markj@FreeBSD.org>
Fri, 18 Dec 2020 16:04:48 +0000 (16:04 +0000)
commitf86a436763e6c9ac6c4e12070c362de2f15a4261
tree4c22c04d9085aa0d6db60658b7f9ff554e03dcd3
parentb37967e573d371bb8b97831264d0c73ae6cc78cf
acpi: Ensure that adjacent memory affinity table entries are coalesced

The SRAT may contain multiple distinct entries that together describe a
contiguous region of physical memory.  In this case we were not
coalescing the corresponding entries in the memory affinity table, which
led to fragmented phys_avail[] entries.  Since r338431 the vm_phys_segs[]
entries derived from phys_avail[] will be coalesced, resulting in a
situation where vm_phys_segs[] entries do not have a covering
phys_avail[] entry.  vm_page_startup() will not add such segments to the
physical memory allocator, leaving them unused.

Reported by: Don Morris <dgmorris@earthlink.net>
Reviewed by: kib, vangyzen
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D27620
sys/dev/acpica/acpi_pxm.c