On Thu, Mar 22, 2018 at 01:49:22PM -0700, Alison Schofield wrote:
> +     /*
> +      * Some Intel CPUs enumerate an LLC that is shared by
> +      * multiple NUMA nodes.  The LLC on these systems is
> +      * shared for off-package data access but private to the
> +      * NUMA node (half of the package) for on-package access.
> +      *
> +      * CPUID can only enumerate the cache as being shared *or*
> +      * unshared, but not this particular configuration.  The
> +      * CPU in this case enumerates the cache to be shared
> +      * across the entire package (spanning both NUMA nodes).
> +      */
> +     if (!topology_same_node(c, o) &&
> +         (c->x86_vendor == X86_VENDOR_INTEL &&
> +          c->x86_model == INTEL_FAM6_SKYLAKE_X)) {
> +             /* Use NUMA instead of coregroups for scheduling: */
> +             x86_has_numa_in_package = true;
> +
> +             /*
> +              * Return value doesn't actually matter because we
> +              * are throwing away coregroups for scheduling anyway.
> +              * Return false to bypass topology broken bug messages
> +              * and fixups in sched_domain().
> +              */
> +             return false;

IIRC that return value _does_ matter because the resulting mask still
ends up user visible in sysfs.

IIRC I went over with this dhansen a week or so ago, but I cannot now
recall what we settled on as being the right return value and for what
reason.

Reply via email to