HomeFreeBSD

arm64: Print per-CPU cache summary

Description

arm64: Print per-CPU cache summary

Summary:
It can be useful to see a summary of CPU caches on bootup. This is done
for most platforms already, so add this to arm64, in the form of (taken
from Apple M1 pro test):

L1 cache: 192KB (instruction), 128KB (data)
L2 cache: 12288KB (unified)

This is printed out per-CPU, only under bootverbose.

Future refinements could instead determine if a cache level is shared
with other cores (L2 is shared among cores on some SoCs, for instance),
and perform a better calculation to the full true cache sizes. For
instance, it's known that the M1 pro, on which this test was done, has 2
12MB L2 clusters, for a total of 24MB. Seeing each CPU with 12288KB L2
would make one think that there's 12MB * NCPUs, for possibly 120MB
cache, which is incorrect.

Sponsored by: Juniper Networks, Inc.
Reviewed by: arm64, andrew
Differential Revision: https://reviews.freebsd.org/D35366

(cherry picked from commit 139ba152c9c91fad9b63ccd2382a80f753f217b9)

Details

Provenance
jhibbitsAuthored on Jun 13 2022, 7:04 PM
Reviewer
arm64
Differential Revision
D35366: arm64: Print per-CPU cache summary
Parents
rGb2ae573abd09: linux: plug a set-but-not-used var
Branches
Unknown
Tags
Unknown