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

(cherry picked from commit 48d5dab7bace6bae938672784ca3aa8733d72eb9)

Details

Provenance
markjAuthored on Jan 25 2024, 9:33 PM
Reviewer
alc
Differential Revision
D43503: arm64: Add a VM_FREELIST_DMA32 freelist
Parents
rG428e5165fec7: tcp_rack.4: Remove a mentioned paper
Branches
Unknown
Tags
Unknown