Le 27/06/2017 16:21, Thomas Gleixner a écrit : > On Tue, 27 Jun 2017, Suravee Suthikulpanit wrote: >> On 6/27/17 17:48, Borislav Petkov wrote: >>> On Tue, Jun 27, 2017 at 01:40:52AM -0500, Suravee Suthikulpanit wrote: >>>> However, this is not the case on AMD family17h multi-die processor >>>> platforms, which can have up to 4 dies per socket as shown in the >>>> following system topology. >>> So what exactly does that mean? A die is a package on ZN and you can have up >>> to 4 packages on a physical socket? >> Yes. 4 packages (or 4 dies, or 4 NUMA nodes) in a socket. > And why is this relevant at all? > > The kernel does not care about sockets. Sockets are electromechanical > components and completely irrelevant. > > The kernel cares about : > > Threads - Single scheduling unit > > Cores - Contains one or more threads > > Packages - Contains one or more cores. The cores share L3. > > NUMA Node - Contains one or more Packages which share a memory > controller. > > I'm not aware of x86 systems which have several Packages > sharing a memory controller, so Package == NUMA Node > (but I might be wrong here).
You often have multiple NUMA nodes inside a single package. That's what we see in sysfs on Intel (since haswell, when Cluster-on-Die is enabled) and on AMD (since magny-cours). Kernel "packages" contains cores whose "physical_package_id" are the same. Documentation says: physical_package_id: physical package id of cpu#. Typically corresponds to a physical socket number, but the actual value is architecture and platform dependent. I don't know if it's possible on x86 to have different physical_package_ids for different cores on a single socket. Brice