From: Len Brown <len.br...@intel.com> 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 <len.br...@intel.com> Suggested-by: Brice Goglin <brice.gog...@inria.fr> --- 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