Hi Len,

On Tue, Feb 26, 2019 at 01:20:03AM -0500, Len Brown wrote:
> From: Len Brown <len.br...@intel.com>
> 
> Export die_id in cpu topology, for the benefit of hardware that
> has multiple-die/package.
> 
> Signed-off-by: Len Brown <len.br...@intel.com>
> Cc: linux-doc@vger.kernel.org
> ---
>  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

Reply via email to