HomeFreeBSD

arm64 pmap: Add ATTR_CONTIGUOUS support [Part 3]

Description

arm64 pmap: Add ATTR_CONTIGUOUS support [Part 3]

Introduce L3C promotion of base page mappings. When the base page size
is 4KB, use ATTR_CONTIGUOUS to promote 16 aligned, contiguous base page
mappings to a 64KB mapping. Alternatively, when the base page size is
16KB, use ATTR_CONTIGUOUS to promote 128 aligned, contiguous base page
mappings to a 2MB mapping.

Given the frequency of L3C counter updates, switch to per-CPU counters
to avoid cache line ping ponging.

Revise the L3C counter descriptions to reflect the fact that the size
of an L3C mapping varies depending on the base page size.

Co-authored-by: Eliot Solomon <ehs3@rice.edu>
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D44983

Details

Provenance
alcAuthored on Apr 17 2024, 4:39 PM
Reviewer
markj
Differential Revision
D44983: arm64 pmap: Add ATTR_CONTIGUOUS support [Part 3]
Parents
rGf6963113f49c: in6_rmx: remove unnecessary socketvar.h
Branches
Unknown
Tags
Unknown