HomeFreeBSD

amd64: store pcids pmap data in pcpu zone

Description

amd64: store pcids pmap data in pcpu zone

This change eliminates the struct pmap_pcid array embedded into struct
pmap and sized by MAXCPU, which would bloat with MAXCPU increase. Also
it removes false sharing of cache lines, since the array elements are
mostly locally accessed by corresponding CPUs.

Suggested by: mjg
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D39890

Details

Provenance
kibAuthored on May 1 2023, 5:17 AM
Reviewer
markj
Differential Revision
D39890: amd64: store pcids pmap data in pcpu zone
Parents
rG9c8cbf381985: amd64 pmap_pcid_alloc(): pass a pointer to struct pmap_pcid instead of cpuid
Branches
Unknown
Tags
Unknown