LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 0/22] v5 multi-die/package topology support
Date: Mon, 6 May 2019 17:25:55 -0400 [thread overview]
Message-ID: <20190506212617.23674-1-lenb@kernel.org> (raw)
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 v4
[PATCH 13/22] hwmon/coretemp: Support multi-die/package
Removed a dead line that should have gone away
in the v3 cpuinfo_x86 cleanup suggested by tglx.
[PATCH 19/22] thermal/x86_pkg_temp_thermal: rename internal variables to zones from packages
[PATCH 20/22] hwmon/coretemp: rename internal variables to zones from packages
[PATCH 21/22] perf/x86/intel/uncore: renames in response to multi-die/pkg support
[PATCH 22/22] perf/x86/intel/rapl: rename internal variables in response to multi-die/pkg support
New syntax-only patches to clean up in-consistent variable names
resulting from previous patches. Suggested by ingo.
---
Updates since v2:
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 9f57786ba08d4d5e913cd21693aadb0ccdba72b2:
perf/x86/intel/rapl: rename internal variables in response to multi-die/pkg support (2019-05-06 17:17:58 -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 (14):
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
thermal/x86_pkg_temp_thermal: rename internal variables to zones from packages
hwmon/coretemp: rename internal variables to zones from packages
perf/x86/intel/uncore: renames in response to multi-die/pkg support
perf/x86/intel/rapl: rename internal variables in response to multi-die/pkg support
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 | 12 +--
arch/x86/events/intel/uncore.c | 80 +++++++--------
arch/x86/events/intel/uncore.h | 4 +-
arch/x86/events/intel/uncore_snbep.c | 2 +-
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 | 36 +++----
drivers/powercap/intel_rapl.c | 75 +++++++-------
drivers/thermal/intel/x86_pkg_temp_thermal.c | 142 ++++++++++++++-------------
include/linux/topology.h | 6 ++
19 files changed, 437 insertions(+), 229 deletions(-)
next reply other threads:[~2019-05-06 21:26 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-06 21:25 Len Brown [this message]
2019-05-06 21:25 ` [PATCH 01/22] x86 topology: Fix doc typo Len Brown
2019-05-06 21:25 ` [PATCH 02/22] topology: Simplify cputopology.txt formatting and wording Len Brown
2019-05-06 21:25 ` [PATCH 03/22] x86 smpboot: Rename match_die() to match_pkg() Len Brown
2019-05-06 21:25 ` [PATCH 04/22] x86 topology: Add CPUID.1F multi-die/package support Len Brown
2019-05-06 21:26 ` [PATCH 05/22] x86 topology: Create topology_max_die_per_package() Len Brown
2019-05-06 21:26 ` [PATCH 06/22] cpu topology: Export die_id Len Brown
2019-05-06 21:26 ` [PATCH 07/22] x86 topology: Define topology_die_id() Len Brown
2019-05-06 21:26 ` [PATCH 08/22] x86 topology: Define topology_logical_die_id() Len Brown
2019-05-06 21:26 ` [PATCH 09/22] powercap/intel_rapl: Simplify rapl_find_package() Len Brown
2019-05-06 21:26 ` [PATCH 10/22] powercap/intel_rapl: Support multi-die/package Len Brown
2019-05-07 12:14 ` Peter Zijlstra
2019-05-08 19:45 ` Len Brown
2019-05-06 21:26 ` [PATCH 11/22] thermal/x86_pkg_temp_thermal: " Len Brown
2019-05-06 21:26 ` [PATCH 12/22] powercap/intel_rapl: update rapl domain name and debug messages Len Brown
2019-05-06 21:26 ` [PATCH 13/22] hwmon/coretemp: Support multi-die/package Len Brown
2019-05-06 21:26 ` [PATCH 14/22] topology: Create package_cpus sysfs attribute Len Brown
2019-05-06 21:26 ` [PATCH 15/22] topology: Create core_cpus and die_cpus sysfs attributes Len Brown
2019-05-06 21:26 ` [PATCH 16/22] perf/x86/intel/uncore: Support multi-die/package Len Brown
2019-05-07 12:21 ` Peter Zijlstra
2019-05-08 19:51 ` Len Brown
2019-05-07 12:22 ` Peter Zijlstra
2019-05-08 19:51 ` Len Brown
2019-05-06 21:26 ` [PATCH 17/22] perf/x86/intel/rapl: " Len Brown
2019-05-06 21:26 ` [PATCH 18/22] perf/x86/intel/cstate: " Len Brown
2019-05-06 21:26 ` [PATCH 19/22] thermal/x86_pkg_temp_thermal: rename internal variables to zones from packages Len Brown
2019-05-06 21:26 ` [PATCH 20/22] hwmon/coretemp: " Len Brown
2019-05-06 21:26 ` [PATCH 21/22] perf/x86/intel/uncore: renames in response to multi-die/pkg support Len Brown
2019-05-09 15:02 ` Liang, Kan
2019-05-13 17:30 ` Len Brown
2019-05-06 21:26 ` [PATCH 22/22] perf/x86/intel/rapl: rename internal variables " Len Brown
2019-05-09 15:04 ` Liang, Kan
2019-05-13 17:29 ` Len Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190506212617.23674-1-lenb@kernel.org \
--to=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
--subject='Re: [PATCH 0/22] v5 multi-die/package topology support' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).