On Tue, Feb 26, 2019 at 2:46 PM Dave Hansen <dave.hansen@xxxxxxxxx> 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