lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 28 Feb 2019 10:43:29 -0500
From:   Len Brown <lenb@...nel.org>
To:     Dave Hansen <dave.hansen@...el.com>
Cc:     X86 ML <x86@...nel.org>, linux-kernel@...r.kernel.org,
        Len Brown <len.brown@...el.com>, linux-doc@...r.kernel.org
Subject: Re: [PATCH 04/14] x86 topology: Add CPUID.1F multi-die/package support

On Tue, Feb 26, 2019 at 2:46 PM Dave Hansen <dave.hansen@...el.com> wrote:
>
> On 2/25/19 10:20 PM, Len Brown wrote:
> > -/* leaf 0xb sub-leaf types */
> > +/* extended topology sub-leaf types */
> >  #define INVALID_TYPE 0
> >  #define SMT_TYPE     1
> >  #define CORE_TYPE    2
> > +#define DIE_TYPE     5
>
> Looking in the SDM, Vol. 3A "8.9.1 Hierarchical Mapping of Shared
> Resources", there are a _couple_ of new levels: Die, Tile and Module.
> But, this patch only covers Dies.
>
> Was there a reason for that?

We have software visible modules and tiles in past products,
and those were discovered by family/model checks, rather than
enumerated.  I'm content to let that sleeping dog lay.
We don't have software visible modules or die enumerated with this
mechanism in any current or about to be current products.
When (and if) such products do come along, only then will we know
why software *cares* about die and tiles -- and that will be the time
to add that support.  Per below, I think this series cleanly prepares us
for that time.

> I wonder if we'll end up with different (better) infrastructure if we do
> these all at once instead of hacking them in one at a time.

Assuming that "hacking in" is a derogatory term, let me make the case
that this patch series cleanly sets the stage for the future.

old:

thread_siblings:  the threads that are in the same core
core_siblings: the threads that are in the same package

This naming scheme assumed that there would never be a topology level
between a core and a package.  Though we leave "core_siblings" intact
for legacy SW that depends on it, we mark it depreciated.

new:

core_threads: the threads in the same core
die_threads: the threads in the same die
package_threads: the threads in the same package

So in the future we could always add...

dave_threads: the threads in the same dave

So I think we are ready for whatever the future may throw at us,
while remaining compatible, consistent, and no "hacking in" required.

thanks,
Len Brown, Intel Open Source Technology Center

Powered by blists - more mailing lists