Re: [PATCH 4/4] sched/numa: Adjust imb_numa_nr to a better approximation of memory channels
From: Peter Zijlstra
Date: Wed May 18 2022 - 10:05:19 EST
On Wed, May 18, 2022 at 12:15:39PM +0100, Mel Gorman wrote:
> I'm not aware of how it can be done in-kernel on a cross architectural
> basis. Reading through the arch manual, it states how many channels are
> in a given processor family and it's available during memory check errors
> (apparently via the EDAC driver). It's sometimes available via PMUs but
> I couldn't find a place where it's generically available for topology.c
> that would work on all x86-64 machines let alone every other architecture.
So provided it is something we want (below) we can always start an arch
interface and fill it out where needed.
> It's not even clear if SMBIOS was parsed in early boot whether
We can always rebuild topology / update variables slightly later in
boot.
> it's a
> good idea. It could result in difference imbalance thresholds for each
> NUMA domain or weird corner cases where assymetric NUMA node populations
> would result in run-to-run variance that are difficult to analyse.
Yeah, maybe. OTOH having a magic value that's guestimated based on
hardware of the day is something that'll go bad any moment as well.
I'm not too worried about run-to-run since people don't typically change
DIMM population over a reboot, but yes, there's always going to be
corner cases. Same with a fixed value though, that's also going to be
wrong.