Messages in this thread | | | Date | Thu, 18 Sep 2014 16:57:57 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC][PATCH 2/6] x86: introduce cpumask specifically for the package |
| |
On Wed, Sep 17, 2014 at 03:33:14PM -0700, Dave Hansen wrote: > > From: Dave Hansen <dave.hansen@linux.intel.com> > > As noted by multiple reports: > > https://lkml.org/lkml/2014/9/15/1240 > https://lkml.org/lkml/2014/7/28/442 > > the sched domains code has some assumptions that break on newer > AMD and Intel CPUs. Namely, the code assumes that NUMA node > boundaries always lie outside of a CPU package. That assumption > is no longer true with Intel's Cluster-on-Die found in Haswell > CPUs (with a special BIOS config knob) and AMD's DCM feature. > > Essentially, the 'cpu_core_map' is no longer suitable for > enumerating all the CPUs in a physical package. > > This patch introduces a new map which is specifically built by > consulting the the physical package ids instead of inferring the > information from NUMA nodes. > > This still leaves us with a broken 'core_siblings_list' in sysfs, > but a later patch will fix that up too.
If we do dynamic topology layout we don't need a second mask I think. The machines that have multiple packages per node will simply present a different sched_domain_topology than the machines that have multiple nodes per package.
Specifically, in the former we include the package_mask as DIE level, in the other case we leave it out entirely and rely on the SLIT table to build the right domain topology.
| |