public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/18] v3 multi-die/package topology support
@ 2019-04-30 20:55 Len Brown
  2019-04-30 20:55 ` [PATCH 01/14] x86 topology: Fix doc typo Len Brown
  0 siblings, 1 reply; 15+ messages in thread
From: Len Brown @ 2019-04-30 20:55 UTC (permalink / raw)
  To: x86; +Cc: linux-kernel

This patch series does 4 things.

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

2. Export multi-die topology inside the kernel

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

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 applications 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.

---
Updates since v2:

All review feedback has been addressed.

In response to brice, peterz and Morten Rasmussen,
used the word "cpu" rather than "thread" for the new sysfs attributes.

In response to tglx, replaced access to cpuinfo_x86.x86_max_dies,
with macro topology_max_die_per_package().  In doing so,
deleted this new per-cpu field entirely, as a global is sufficient.

Also, appended 3 patches from Kan Liang, updating the perf code
to be multi-die aware.  These patches are similar to the preceding
power and temperature patches.  I believe that with these patches,
this series now includes all needed multi-die kernel support.

---
The following changes since commit 085b7755808aa11f78ab9377257e1dad2e6fa4bb:

  Linux 5.1-rc6 (2019-04-21 10:45:57 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 6c4891c7f2f1eacfcab00bf5d84b5ac119f654b9:

  perf/x86/intel/cstate: Support multi-die/package (2019-04-30 16:49:26 -0400)

----------------------------------------------------------------
Kan Liang (3):
      perf/x86/intel/uncore: Support multi-die/package
      perf/x86/intel/rapl: Support multi-die/package
      perf/x86/intel/cstate: Support multi-die/package

Len Brown (10):
      x86 topology: Fix doc typo
      topology: Simplify cputopology.txt formatting and wording
      x86 smpboot: Rename match_die() to match_pkg()
      x86 topology: Add CPUID.1F multi-die/package support
      x86 topology: Create topology_max_die_per_package()
      cpu topology: Export die_id
      x86 topology: Define topology_die_id()
      x86 topology: Define topology_logical_die_id()
      topology: Create package_cpus sysfs attribute
      topology: Create core_cpus and die_cpus sysfs attributes

Zhang Rui (5):
      powercap/intel_rapl: Simplify rapl_find_package()
      powercap/intel_rapl: Support multi-die/package
      thermal/x86_pkg_temp_thermal: Support multi-die/package
      powercap/intel_rapl: update rapl domain name and debug messages
      hwmon/coretemp: Support multi-die/package

 Documentation/cputopology.txt                | 80 +++++++++++++++----------
 Documentation/x86/topology.txt               |  6 +-
 arch/x86/events/intel/cstate.c               | 14 +++--
 arch/x86/events/intel/rapl.c                 | 10 ++--
 arch/x86/events/intel/uncore.c               | 20 ++++---
 arch/x86/include/asm/processor.h             |  4 +-
 arch/x86/include/asm/smp.h                   |  1 +
 arch/x86/include/asm/topology.h              | 17 ++++++
 arch/x86/kernel/cpu/common.c                 |  1 +
 arch/x86/kernel/cpu/topology.c               | 88 ++++++++++++++++++++++------
 arch/x86/kernel/smpboot.c                    | 75 +++++++++++++++++++++++-
 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 |  8 +--
 include/linux/topology.h                     |  6 ++
 17 files changed, 322 insertions(+), 115 deletions(-)


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

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

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-30 20:55 [PATCH 0/18] v3 multi-die/package topology support Len Brown
2019-04-30 20:55 ` [PATCH 01/14] x86 topology: Fix doc typo Len Brown
2019-04-30 20:55   ` [PATCH 02/14] topolgy: Simplify cputopology.txt formatting and wording Len Brown
2019-04-30 20:55   ` [PATCH 03/14] x86 smpboot: Rename match_die() to match_pkg() Len Brown
2019-04-30 20:55   ` [PATCH 04/14] x86 topology: Add CPUID.1F multi-die/package support Len Brown
2019-04-30 20:55   ` [PATCH 05/14] cpu topology: Export die_id Len Brown
2019-04-30 20:55   ` [PATCH 06/14] x86 topology: Define topology_die_id() Len Brown
2019-04-30 20:55   ` [PATCH 07/14] x86 topology: Define topology_logical_die_id() Len Brown
2019-04-30 20:55   ` [PATCH 08/14] powercap/intel_rapl: Simplify rapl_find_package() Len Brown
2019-04-30 20:55   ` [PATCH 09/14] powercap/intel_rapl: Support multi-die/package Len Brown
2019-04-30 20:55   ` [PATCH 10/14] thermal/x86_pkg_temp_thermal: " Len Brown
2019-04-30 20:55   ` [PATCH 11/14] powercap/intel_rapl: update rapl domain name and debug messages Len Brown
2019-04-30 20:55   ` [PATCH 12/14] hwmon/coretemp: Support multi-die/package Len Brown
2019-04-30 20:55   ` [PATCH 13/14] topology: Create package_threads sysfs attribute Len Brown
2019-04-30 20:55   ` [PATCH 14/14] topology: Create core_threads " Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox