All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/14] v2 multi-die/package topology support
@ 2019-02-26  6:19 Len Brown
  2019-02-26  6:19 ` [PATCH 01/14] x86 topology: Fix doc typo Len Brown
                   ` (4 more replies)
  0 siblings, 5 replies; 40+ messages in thread
From: Len Brown @ 2019-02-26  6:19 UTC (permalink / raw)
  To: x86; +Cc: linux-kernel

This patch series does 4 things.

1. Parses the new CPUID.1F leaf to discover multi-die/package topology

2. Export multi-die topology inside the kernel

3. Update 3 places (coretemp, pkgtemp, rapl) that that need to know
   the difference between die and package-scope MSR.

   (Note: Kan Liang has a patch series on top of this one to similarly
   make the uncore perf code multi-die/package aware.)

4. Export multi-die topology to user-space via sysfs

These changes should have 0 impact on cache topology,
NUMA topology, Linux scheduler, or system performance.

These topology changes primarily impact parts of the kernel
and some applciations that care about package MSR scope.
Also, some software is licensed per package, and other tools,
such as benchmark reporting software sometimes cares about packages.

Changes since v1:

Responded to all syntax and style feedback.

Fixed a bug in the CPUID.1F parsing code
	we were parsing the leaf properly, but in some configs
	we were not updating the maps correctly

topology_logical_die_id() replaces topology_unique_die_id()

	Suggested by Kan, who's uncore code uses
	topology_logical_package_id().

Restored sysfs core_siblings, core_siblings_list

	v1 proposed re-defining this existing attribute to
	be the threads in a die, rather than in a package.

	For compatibility, decided rather to keep this
	attribute unchanged, for now, even though
	its name makes little sense, and it makes
	no sense in a multi-die system.

Added sysfs package_threads, package_threads_list

	Added this attribute to show threads siblings in a package.
	Exactly same as "core_siblings above", a name now deprecated.
	This attribute name and definition is immune to future
	topology changes.

	Suggested by Brice.

Added sysfs die_threads, die_threads_list

	Added this attribute to show which threads siblings in a die.
	V1 had proposed putting this info into "core_siblings", but we
	decided to leave that legacy attribute alone.
	This attribute name and definition is immune to future
	topology changes.

	On a single die-package system this attribute has same contents
	as "package_threads".

	Suggested by Brice.

Added sysfs core_threads, core_threads_list

	Added this attribute to show which threads siblings in a core.
	Exactly same as "thread_siblings", a name now deprecated.
	This attribute name and definition is immune to future
	topology changes.

	Suggested by Brice.


For compatibility, sysfs cpuX/topology core_siblings
and core_siblings_list are unchanged.  They retain
their legacy defintion of listing which CPUs share
the same package.

Patch Summary:

Unchanged:

[PATCH 01/14] x86 topology: Fix doc typo
[PATCH 02/14] topolgy: Simplify cputopology.txt formatting and
[PATCH 03/14] x86 smpboot: Rename match_die() to match_pkg()
[PATCH 05/14] cpu topology: Export die_id
[PATCH 07/14] powercap/intel_rapl: Simplify rapl_find_package()
[PATCH 10/14] powercap/intel_rapl: update rapl domain name and debug

Bug Fixed:

[PATCH 04/14] x86 topology: Add CPUID.1F multi-die/package support

New since v1:

[PATCH 06/14] x86 topology: Define topology_logical_die_id()
[PATCH 12/14] topology: Create package_threads sysfs attribute
[PATCH 13/14] topology: Create core_threads sysfs attribute
[PATCH 14/14] topology: Create die_threads sysfs attribute

Updated (to use logical_die_id()):

[PATCH 08/14] powercap/intel_rapl: Support multi-die/package
[PATCH 09/14] thermal/x86_pkg_temp_thermal: Support multi-die/package
[PATCH 11/14] hwmon/coretemp: Support multi-die/package



 Documentation/cputopology.txt                | 72 ++++++++++++++---------
 Documentation/x86/topology.txt               |  6 +-
 arch/x86/include/asm/processor.h             |  5 +-
 arch/x86/include/asm/smp.h                   |  1 +
 arch/x86/include/asm/topology.h              |  5 ++
 arch/x86/kernel/cpu/topology.c               | 85 +++++++++++++++++++++-------
 arch/x86/kernel/smpboot.c                    | 73 +++++++++++++++++++++++-
 arch/x86/xen/smp_pv.c                        |  1 +
 drivers/base/topology.c                      | 22 +++++++
 drivers/hwmon/coretemp.c                     |  9 +--
 drivers/powercap/intel_rapl.c                | 75 +++++++++++++-----------
 drivers/thermal/intel/x86_pkg_temp_thermal.c |  9 +--
 include/linux/topology.h                     |  6 ++
 13 files changed, 276 insertions(+), 93 deletions(-)

These patches are also available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git x86



^ permalink raw reply	[flat|nested] 40+ messages in thread
* [PATCH 01/14] x86 topology: Fix doc typo
@ 2019-04-30 20:55 Len Brown
  2019-04-30 20:55 ` [PATCH 05/14] cpu topology: Export die_id Len Brown
  0 siblings, 1 reply; 40+ messages in thread
From: Len Brown @ 2019-04-30 20:55 UTC (permalink / raw)
  To: x86; +Cc: linux-kernel, Len Brown, linux-doc

From: Len Brown <len.brown@intel.com>

Syntax only, no functional or semantic change.

reflect actual cpuinfo_x86 field name:

s/logical_id/logical_proc_id/

Signed-off-by: Len Brown <len.brown@intel.com>
Cc: linux-doc@vger.kernel.org
---
 Documentation/x86/topology.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/x86/topology.txt b/Documentation/x86/topology.txt
index 2953e3ec9a02..06b3cdbc4048 100644
--- a/Documentation/x86/topology.txt
+++ b/Documentation/x86/topology.txt
@@ -51,7 +51,7 @@ The topology of a system is described in the units of:
     The physical ID of the package. This information is retrieved via CPUID
     and deduced from the APIC IDs of the cores in the package.
 
-  - cpuinfo_x86.logical_id:
+  - cpuinfo_x86.logical_proc_id:
 
     The logical ID of the package. As we do not trust BIOSes to enumerate the
     packages in a consistent way, we introduced the concept of logical package
-- 
2.18.0-rc0


^ permalink raw reply related	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2019-04-30 20:57 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-26  6:19 [PATCH 0/14] v2 multi-die/package topology support Len Brown
2019-02-26  6:19 ` [PATCH 01/14] x86 topology: Fix doc typo Len Brown
2019-02-26  6:20   ` [PATCH 02/14] topolgy: Simplify cputopology.txt formatting and wording Len Brown
2019-02-26  6:20   ` [PATCH 03/14] x86 smpboot: Rename match_die() to match_pkg() Len Brown
2019-02-26  6:20   ` [PATCH 04/14] x86 topology: Add CPUID.1F multi-die/package support Len Brown
2019-02-26 19:46     ` Dave Hansen
2019-02-28 15:43       ` Len Brown
2019-04-05 18:16         ` Thomas Gleixner
2019-02-26  6:20   ` [PATCH 05/14] cpu topology: Export die_id Len Brown
2019-03-07 14:45     ` Morten Rasmussen
2019-03-26 18:18       ` Len Brown
2019-02-26  6:20   ` [PATCH 06/14] x86 topology: Define topology_logical_die_id() Len Brown
2019-02-26  6:20   ` [PATCH 07/14] powercap/intel_rapl: Simplify rapl_find_package() Len Brown
2019-02-26 19:06     ` Peter Zijlstra
2019-03-26 18:27       ` Len Brown
2019-02-26  6:20   ` [PATCH 08/14] powercap/intel_rapl: Support multi-die/package Len Brown
2019-04-05 18:27     ` Thomas Gleixner
2019-04-08  1:35       ` Zhang Rui
2019-02-26  6:20   ` [PATCH 09/14] thermal/x86_pkg_temp_thermal: " Len Brown
2019-04-05 18:29     ` Thomas Gleixner
2019-04-05 18:39       ` Brown, Len
2019-04-05 18:50         ` Thomas Gleixner
2019-02-26  6:20   ` [PATCH 10/14] powercap/intel_rapl: update rapl domain name and debug messages Len Brown
2019-02-26  6:20   ` [PATCH 11/14] hwmon/coretemp: Support multi-die/package Len Brown
2019-02-26  6:20   ` [PATCH 12/14] topology: Create package_threads sysfs attribute Len Brown
2019-02-26  6:20   ` [PATCH 13/14] topology: Create core_threads " Len Brown
2019-02-26  6:20   ` [PATCH 14/14] topology: Create die_threads " Len Brown
2019-02-26 18:51 ` [PATCH 0/14] v2 multi-die/package topology support Peter Zijlstra
2019-04-12 19:32   ` Len Brown
2019-02-26 18:53 ` Peter Zijlstra
2019-03-07 14:59   ` Morten Rasmussen
2019-04-05 18:33     ` Thomas Gleixner
2019-04-12 19:52       ` Len Brown
2019-04-12 20:40         ` Brice Goglin
2019-02-26 19:05 ` Peter Zijlstra
2019-04-30  6:50   ` Len Brown
2019-04-30  9:33     ` Borislav Petkov
2019-04-30 18:46       ` Len Brown
2019-04-05 18:33 ` Thomas Gleixner
2019-04-30 20:55 [PATCH 01/14] x86 topology: Fix doc typo Len Brown
2019-04-30 20:55 ` [PATCH 05/14] cpu topology: Export die_id Len Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.