Hi Len, On Tue, Feb 26, 2019 at 01:20:03AM -0500, Len Brown wrote: > From: Len Brown <len.brown@xxxxxxxxx> > > Export die_id in cpu topology, for the benefit of hardware that > has multiple-die/package. > > Signed-off-by: Len Brown <len.brown@xxxxxxxxx> > Cc: linux-doc@xxxxxxxxxxxxxxx > --- > Documentation/cputopology.txt | 6 ++++++ > arch/x86/include/asm/topology.h | 1 + > drivers/base/topology.c | 4 ++++ > include/linux/topology.h | 3 +++ > 4 files changed, 14 insertions(+) > > diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt > index cb61277e2308..4e6be7f68fd8 100644 > --- a/Documentation/cputopology.txt > +++ b/Documentation/cputopology.txt > @@ -12,6 +12,12 @@ physical_package_id: > socket number, but the actual value is architecture and platform > dependent. > > +die_id: > + > + the CPU die ID of cpuX. Typically it is the hardware platform's > + identifier (rather than the kernel's). The actual value is > + architecture and platform dependent. > + > core_id: Can we add the details about die_id further down in cputopology.txt as well? diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt index 6c25ce682c90..77b65583081e 100644 --- a/Documentation/cputopology.txt +++ b/Documentation/cputopology.txt @@ -97,6 +97,7 @@ For an architecture to support this feature, it must define some of these macros in include/asm-XXX/topology.h:: #define topology_physical_package_id(cpu) + #define topology_die_id(cpu) #define topology_core_id(cpu) #define topology_book_id(cpu) #define topology_drawer_id(cpu) @@ -116,10 +117,11 @@ provides default definitions for any of the above macros that are not defined by include/asm-XXX/topology.h: 1) topology_physical_package_id: -1 -2) topology_core_id: 0 -3) topology_sibling_cpumask: just the given CPU -4) topology_core_cpumask: just the given CPU -5) topology_die_cpumask: just the given CPU +2) topology_die_id: -1 +3) topology_core_id: 0 +4) topology_sibling_cpumask: just the given CPU +5) topology_core_cpumask: just the given CPU +6) topology_die_cpumask: just the given CPU > > the CPU core ID of cpuX. Typically it is the hardware platform's > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index 453cf38a1c33..281be6bbc80d 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -106,6 +106,7 @@ extern const struct cpumask *cpu_coregroup_mask(int cpu); > > #define topology_logical_package_id(cpu) (cpu_data(cpu).logical_proc_id) > #define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id) > +#define topology_die_id(cpu) (cpu_data(cpu).cpu_die_id) > #define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id) > > #ifdef CONFIG_SMP The above is x86 specific and seems to fit better with the next patch in the series. Morten