Messages in this thread | | | From | Ricardo Neri <> | Subject | [PATCH 0/4] drivers core: Introduce CPU type sysfs interface | Date | Fri, 2 Oct 2020 18:17:41 -0700 |
| |
Hybrid CPU topologies combine processors with more than one type of micro-architecture. Hence, it is possible that individual CPUs support slightly different features (e.g., performance counters) and different performance properties. Thus, there may be user space entities interested in knowing the topology of the system based on the types of available CPUs.
Currently, there exists an interface for the CPU capacity (/sys/devices/ system/cpu/cpuX/cpu_capacity). However, CPU capacity does not always map to CPU types (by the way, I will submit a separate series to bring such interface to x86).
This series proposes the new interface /sys/devices/system/cpu/types which, in hybrid parts, creates a subdirectory for each type of CPU. Each subdirectory contains a CPU list and a CPU map that user space can query.
Patch 1 of the series proposes the generic interface, with hooks that architectures can override to suit their needs. The three patches patches implement such interface for x86 (as per request from Boris, I pulled patch 2 from a separate submission [1]).
Thanks and BR, Ricardo
[1]. https://lkml.org/lkml/2020/10/2/1013
Ricardo Neri (4): drivers core: Introduce CPU type sysfs interface x86/cpu: Describe hybrid CPUs in cpuinfo_x86 x86/cpu/intel: Add function to get name of hybrid CPU types x86/cpu/topology: Implement the CPU type sysfs interface
.../ABI/testing/sysfs-devices-system-cpu | 13 ++ arch/x86/include/asm/intel-family.h | 4 + arch/x86/include/asm/processor.h | 13 ++ arch/x86/include/asm/topology.h | 2 + arch/x86/kernel/cpu/common.c | 3 + arch/x86/kernel/cpu/cpu.h | 3 + arch/x86/kernel/cpu/intel.c | 23 ++ arch/x86/kernel/cpu/topology.c | 23 ++ drivers/base/cpu.c | 214 ++++++++++++++++++ include/linux/cpu.h | 12 + include/linux/cpuhotplug.h | 1 + 11 files changed, 311 insertions(+)
-- 2.17.1
| |