HomeFreeBSD

arm64: Add a VM_FREELIST_DMA32 freelist

Description

arm64: Add a VM_FREELIST_DMA32 freelist

When booting a KMSAN kernel on an Ampere Altra, I've seen some boot time
hangs when the XHCI controller driver attempts to allocate memory for
32-bit DMA. The system boots fine with a GENERIC kernel; I believe that
the additional memory requirements of KMSAN push it over the edge. The
system has a bit less than 2GB of RAM below the 4GB boundary.

Allocate a new freelist to segregate memory below 4GB, as we do on
amd64, so that such memory allocation failures are less likely to occur.

Reviewed by: alc
MFC after: 1 month
Sponsored by: Klara, Inc.
Sponsored by: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D43503

Details

Provenance
markjAuthored on Jan 25 2024, 9:33 PM
Reviewer
alc
Differential Revision
D43503: arm64: Add a VM_FREELIST_DMA32 freelist
Parents
rGecf410623750: Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba
Branches
Unknown
Tags
Unknown