From: Len Brown <[email protected]>
The sysfs cpu/topology/core_siblings (and core_siblings_list)
attributes are documented, implemented, and used by programs to
represent set of logical CPU threads sharing the same package.
This makes sense if the next topology level above a core
is always a package. But on systems where there is a die
topology level between a core and a package, the name
no longer makese sense.
So without changing its function, add a name for this map
that describes what it actually is -- package threads --
the set of logical CPU threads that share the same package.
This new name will be immune to changes in topology, since
it describes threads at the current level, not siblings
at a contained level.
Signed-off-by: Len Brown <[email protected]>
Suggested-by: Brice Goglin <[email protected]>
---
Documentation/cputopology.txt | 8 ++++----
drivers/base/topology.c | 6 ++++++
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt
index 2ff8a1e9a2db..a500e25476f4 100644
--- a/Documentation/cputopology.txt
+++ b/Documentation/cputopology.txt
@@ -46,15 +46,15 @@ thread_siblings_list:
human-readable list of cpuX's hardware threads within the same
core as cpuX.
-core_siblings:
+package_threads:
internal kernel map of cpuX's hardware threads within the same
- physical_package_id.
+ physical_package_id. (deprecated name: "core_siblings")
-core_siblings_list:
+package_threads_list:
human-readable list of cpuX's hardware threads within the same
- physical_package_id.
+ physical_package_id. (deprecated name: "core_siblings_list")
book_siblings:
diff --git a/drivers/base/topology.c b/drivers/base/topology.c
index 50352cf96f85..5f4405a08c6e 100644
--- a/drivers/base/topology.c
+++ b/drivers/base/topology.c
@@ -57,6 +57,10 @@ define_siblings_show_func(core_siblings, core_cpumask);
static DEVICE_ATTR_RO(core_siblings);
static DEVICE_ATTR_RO(core_siblings_list);
+define_siblings_show_func(package_threads, core_cpumask);
+static DEVICE_ATTR_RO(package_threads);
+static DEVICE_ATTR_RO(package_threads_list);
+
#ifdef CONFIG_SCHED_BOOK
define_id_show_func(book_id);
static DEVICE_ATTR_RO(book_id);
@@ -81,6 +85,8 @@ static struct attribute *default_attrs[] = {
&dev_attr_thread_siblings_list.attr,
&dev_attr_core_siblings.attr,
&dev_attr_core_siblings_list.attr,
+ &dev_attr_package_threads.attr,
+ &dev_attr_package_threads_list.attr,
#ifdef CONFIG_SCHED_BOOK
&dev_attr_book_id.attr,
&dev_attr_book_siblings.attr,
--
2.18.0-rc0