| /kernel/linux/linux-5.10/Documentation/x86/ |
| D | topology.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 The architecture-agnostic topology definitions are in 12 Documentation/admin-guide/cputopology.rst. This file holds x86-specific 17 Needless to say, code should use the generic functions - this file is *only* 35 - packages 36 - cores 37 - threads 48 Package-related topology information in the kernel: 50 - cpuinfo_x86.x86_max_cores: 54 - cpuinfo_x86.x86_max_dies: [all …]
|
| /kernel/linux/linux-6.6/Documentation/arch/x86/ |
| D | topology.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 The architecture-agnostic topology definitions are in 12 Documentation/admin-guide/cputopology.rst. This file holds x86-specific 17 Needless to say, code should use the generic functions - this file is *only* 35 - packages 36 - cores 37 - threads 48 Package-related topology information in the kernel: 50 - cpuinfo_x86.x86_max_cores: 54 - cpuinfo_x86.x86_max_dies: [all …]
|
| /kernel/linux/linux-5.10/arch/mips/kernel/ |
| D | smp-cps.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 #include <linux/cpu.h> 17 #include <asm/mips-cps.h> 20 #include <asm/pm-cps.h> 22 #include <asm/smp-cps.h> 38 static unsigned core_vpe_count(unsigned int cluster, unsigned core) in core_vpe_count() argument 43 return mips_cps_numvps(cluster, core); in core_vpe_count() 69 /* Use the number of VPEs in cluster 0 core 0 for smp_num_siblings */ in cps_smp_setup() 73 for (v = 0; v < min_t(int, core_vpes, NR_CPUS - nvpes); v++) { in cps_smp_setup() 86 /* Indicate present CPUs (CPU being synonymous with VPE) */ in cps_smp_setup() [all …]
|
| /kernel/linux/linux-6.6/arch/mips/kernel/ |
| D | smp-cps.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 #include <linux/cpu.h> 18 #include <asm/mips-cps.h> 21 #include <asm/pm-cps.h> 24 #include <asm/smp-cps.h> 32 static unsigned __init core_vpe_count(unsigned int cluster, unsigned core) in core_vpe_count() argument 34 return min(smp_max_threads, mips_cps_numvps(cluster, core)); in core_vpe_count() 60 /* Use the number of VPEs in cluster 0 core 0 for smp_num_siblings */ in cps_smp_setup() 64 for (v = 0; v < min_t(int, core_vpes, NR_CPUS - nvpes); v++) { in cps_smp_setup() 77 /* Indicate present CPUs (CPU being synonymous with VPE) */ in cps_smp_setup() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/tests/ |
| D | topology.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #define TEMPL "/tmp/perf-test-XXXXXX" 26 return -1; in get_temp() 44 session->evlist = evlist__new_default(); in session_write_header() 45 TEST_ASSERT_VAL("can't get evlist", session->evlist); in session_write_header() 47 perf_header__set_feat(&session->header, HEADER_CPU_TOPOLOGY); in session_write_header() 48 perf_header__set_feat(&session->header, HEADER_NRCPUS); in session_write_header() 49 perf_header__set_feat(&session->header, HEADER_ARCH); in session_write_header() 51 session->header.data_size += DATA_SIZE; in session_write_header() 54 !perf_session__write_header(session, session->evlist, data.file.fd, true)); in session_write_header() [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/pm/ |
| D | intel-speed-select.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 collection of features that give more granular control over CPU performance. 14 - https://www.intel.com/content/www/us/en/architecture-and-technology/speed-select-technology-artic… 15 - https://builders.intel.com/docs/networkbuilders/intel-speed-select-technology-base-frequency-enha… 19 dynamically without pre-configuring via BIOS setup options. This dynamic 29 intel-speed-select configuration tool 32 Most Linux distribution packages may include the "intel-speed-select" tool. If not, 38 # cd tools/power/x86/intel-speed-select/ 43 ------------ 47 # intel-speed-select --help [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/cpu/ |
| D | cpu-topology.txt | 2 CPU topology binding description 6 1 - Introduction 12 - socket 13 - cluster 14 - core 15 - thread 17 The bottom hierarchy level sits at core or thread level depending on whether 18 symmetric multi-threading (SMT) is supported or not. 20 For instance in a system where CPUs support SMT, "cpu" nodes represent all 22 In systems where SMT is not supported "cpu" nodes represent all cores present [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/cpu/ |
| D | cpu-topology.txt | 2 CPU topology binding description 6 1 - Introduction 12 - socket 13 - cluster 14 - core 15 - thread 17 The bottom hierarchy level sits at core or thread level depending on whether 18 symmetric multi-threading (SMT) is supported or not. 20 For instance in a system where CPUs support SMT, "cpu" nodes represent all 22 In systems where SMT is not supported "cpu" nodes represent all cores present [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/pm/ |
| D | intel-speed-select.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 collection of features that give more granular control over CPU performance. 14 - https://www.intel.com/content/www/us/en/architecture-and-technology/speed-select-technology-artic… 15 - https://builders.intel.com/docs/networkbuilders/intel-speed-select-technology-base-frequency-enha… 19 dynamically without pre-configuring via BIOS setup options. This dynamic 29 intel-speed-select configuration tool 32 Most Linux distribution packages may include the "intel-speed-select" tool. If not, 38 # cd tools/power/x86/intel-speed-select/ 43 ------------ 47 # intel-speed-select --help [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
| D | cputhreads.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 * threads per core and the same number for each core in the system 15 * as the CPU numbers are still allocated, just not brought online). 35 /* cpu_thread_mask_to_cores - Return a cpumask of one per cores 40 * This function returns a cpumask which will have one online cpu's 41 * bit set for each core that has at least one thread set in the argument. 44 * since those need to be done only once per core/TLB 49 int i, cpu; in cpu_thread_mask_to_cores() local 55 cpu = cpumask_next_and(-1, &tmp, cpu_online_mask); in cpu_thread_mask_to_cores() 56 if (cpu < nr_cpu_ids) in cpu_thread_mask_to_cores() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/util/ |
| D | bpf_counter_cgroup.c | 1 // SPDX-License-Identifier: GPL-2.0 42 #define FD(evt, cpu) (*(int *)xyarray__entry(evt->core.fd, cpu, 0)) argument 50 struct perf_cpu cpu; in bperf_load_program() local 51 int total_cpus = cpu__max_cpu().cpu; in bperf_load_program() 58 return -1; in bperf_load_program() 61 skel->rodata->num_cpus = total_cpus; in bperf_load_program() 62 skel->rodata->num_events = evlist->core.nr_entries / nr_cgroups; in bperf_load_program() 64 BUG_ON(evlist->core.nr_entries % nr_cgroups != 0); in bperf_load_program() 66 /* we need one copy of events per cpu for reading */ in bperf_load_program() 67 map_size = total_cpus * evlist->core.nr_entries / nr_cgroups; in bperf_load_program() [all …]
|
| /kernel/linux/linux-5.10/arch/loongarch/loongson64/ |
| D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/cpu.h> 46 static u32 (*ipi_read_clear)(int cpu); 47 static void (*ipi_write_action)(int cpu, u32 action); 61 unsigned int cpu, i; in show_ipi_list() local 64 seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i, prec >= 4 ? " " : ""); in show_ipi_list() 65 for_each_online_cpu(cpu) in show_ipi_list() 66 seq_printf(p, "%10u ", per_cpu(irq_stat, cpu).ipi_irqs[i]); in show_ipi_list() 72 static void csr_mail_send(uint64_t data, int cpu, int mailbox) in csr_mail_send() argument 79 val |= (cpu << IOCSR_MBUF_SEND_CPU_SHIFT); in csr_mail_send() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/haswell/ |
| D | hsw-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / TSC", 10 "BriefDescription": "C3 residency percent per core", 11 "MetricExpr": "cstate_core@c3\\-residency@ / TSC", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / TSC", 24 "BriefDescription": "C6 residency percent per core", 25 "MetricExpr": "cstate_core@c6\\-residency@ / TSC", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / TSC", 38 "BriefDescription": "C7 residency percent per core", 39 "MetricExpr": "cstate_core@c7\\-residency@ / TSC", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / TSC", [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
| D | cputhreads.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 * threads per core and the same number for each core in the system 15 * as the CPU numbers are still allocated, just not brought online). 41 int cpu_core_index_of_thread(int cpu); 42 int cpu_first_thread_of_core(int core); 44 static inline int cpu_core_index_of_thread(int cpu) { return cpu; } in cpu_core_index_of_thread() argument 45 static inline int cpu_first_thread_of_core(int core) { return core; } in cpu_first_thread_of_core() argument 48 static inline int cpu_thread_in_core(int cpu) in cpu_thread_in_core() argument 50 return cpu & (threads_per_core - 1); in cpu_thread_in_core() 53 static inline int cpu_thread_in_subcore(int cpu) in cpu_thread_in_subcore() argument [all …]
|
| /kernel/linux/linux-6.6/arch/arm/mach-bcm/ |
| D | platsmp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2014-2015 Broadcom Corporation 12 #include <linux/irqchip/irq-bcm2836.h> 34 #define OF_SECONDARY_BOOT "secondary-boot-reg" 54 return -ENXIO; in scu_a9_enable() 60 pr_err("hardware reports only one core\n"); in scu_a9_enable() 61 return -ENOENT; in scu_a9_enable() 68 return -ENOMEM; in scu_a9_enable() 78 static u32 secondary_boot_addr_for(unsigned int cpu) in secondary_boot_addr_for() argument 81 struct device_node *cpu_node = of_get_cpu_node(cpu, NULL); in secondary_boot_addr_for() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-bcm/ |
| D | platsmp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2014-2015 Broadcom Corporation 12 #include <linux/irqchip/irq-bcm2836.h> 34 #define OF_SECONDARY_BOOT "secondary-boot-reg" 54 return -ENXIO; in scu_a9_enable() 60 pr_err("hardware reports only one core\n"); in scu_a9_enable() 61 return -ENOENT; in scu_a9_enable() 68 return -ENOMEM; in scu_a9_enable() 78 static u32 secondary_boot_addr_for(unsigned int cpu) in secondary_boot_addr_for() argument 81 struct device_node *cpu_node = of_get_cpu_node(cpu, NULL); in secondary_boot_addr_for() [all …]
|
| /kernel/linux/linux-5.10/tools/power/cpupower/lib/ |
| D | cpupower.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de> 23 if (fd == -1) in cpupower_read_sysfs() 26 numread = read(fd, buf, buflen - 1); in cpupower_read_sysfs() 39 * Detect whether a CPU is online 42 * 1 -> if CPU is online 43 * 0 -> if CPU is offline 46 int cpupower_is_cpu_online(unsigned int cpu) in cpupower_is_cpu_online() argument 56 snprintf(path, sizeof(path), PATH_TO_CPU "cpu%u", cpu); in cpupower_is_cpu_online() 63 * -> cpuX directory exists, but not cpuX/online file in cpupower_is_cpu_online() [all …]
|
| /kernel/linux/linux-6.6/tools/power/cpupower/lib/ |
| D | cpupower.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de> 19 if (access(path, F_OK) == -1) in is_valid_path() 30 if (fd == -1) in cpupower_read_sysfs() 33 numread = read(fd, buf, buflen - 1); in cpupower_read_sysfs() 51 if (fd == -1) in cpupower_write_sysfs() 54 numwritten = write(fd, buf, buflen - 1); in cpupower_write_sysfs() 58 return -1; in cpupower_write_sysfs() 67 * Detect whether a CPU is online 70 * 1 -> if CPU is online [all …]
|
| /kernel/linux/linux-6.6/drivers/platform/x86/intel/ifs/ |
| D | runtest.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 #include <linux/cpu.h> 15 * ifs_sem. On HT systems all threads on a core will 17 * core will update results of the test. 27 * Number of TSC cycles that a logical CPU will wait for the other 28 * logical CPU on the core in the WRMSR(ACTIVATE_SCAN). 50 "Core Abort SCAN Response due to power management condition.", 53 [IFS_CORE_NOT_CAPABLE_CURRENTLY] = "Core not capable of performing SCAN currently", 56 "Exceeded number of Logical Processors (LP) allowed to run Scan-At-Field concurrently", 60 static void message_not_tested(struct device *dev, int cpu, union ifs_status status) in message_not_tested() argument [all …]
|
| /kernel/linux/linux-5.10/arch/loongarch/kvm/intc/ |
| D | ls3a_ipi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 11 #define ls3a_gipi_lock(s, flags) spin_lock_irqsave(&s->lock, flags) 12 #define ls3a_gipi_unlock(s, flags) spin_unlock_irqrestore(&s->lock, flags) 16 int kvm_helper_send_ipi(struct kvm_vcpu *vcpu, unsigned int cpu, unsigned int action) in kvm_helper_send_ipi() argument 18 struct kvm *kvm = vcpu->kvm; in kvm_helper_send_ipi() 20 gipiState *s = &(ipi->ls3a_gipistate); in kvm_helper_send_ipi() 24 kvm->stat.pip_write_exits++; in kvm_helper_send_ipi() 27 if (s->core[cpu].status == 0) { in kvm_helper_send_ipi() 28 irq.cpu = cpu; in kvm_helper_send_ipi() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/regulator/ |
| D | nvidia,tegra-regulators-coupling.txt | 4 NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. 9 ------------------------ 11 On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU. 12 The CORE and RTC voltages shall be in a range of 170mV from each other 13 and they both shall be higher than the CPU voltage by at least 120mV. 16 ------------------------ 18 On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE 19 and CPU voltages shall be in a range of 300mV from each other and CORE 20 voltage shall be higher than the CPU by N mV, where N depends on the CPU 24 - nvidia,tegra-core-regulator: Boolean property that designates regulator [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/regulator/ |
| D | nvidia,tegra-regulators-coupling.txt | 4 NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. 9 ------------------------ 11 On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU. 12 The CORE and RTC voltages shall be in a range of 170mV from each other 13 and they both shall be higher than the CPU voltage by at least 120mV. 16 ------------------------ 18 On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE 19 and CPU voltages shall be in a range of 300mV from each other and CORE 20 voltage shall be higher than the CPU by N mV, where N depends on the CPU 24 - nvidia,tegra-core-regulator: Boolean property that designates regulator [all …]
|
| /kernel/linux/linux-5.10/arch/c6x/boot/dts/ |
| D | tms320c6678.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #address-cells = <1>; 5 #size-cells = <1>; 8 #address-cells = <1>; 9 #size-cells = <0>; 11 cpu@0 { 12 device_type = "cpu"; 16 cpu@1 { 17 device_type = "cpu"; 21 cpu@2 { [all …]
|
| /kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/haswellx/ |
| D | hsx-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / TSC", 10 "BriefDescription": "C3 residency percent per core", 11 "MetricExpr": "cstate_core@c3\\-residency@ / TSC", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / TSC", 24 "BriefDescription": "C6 residency percent per core", 25 "MetricExpr": "cstate_core@c6\\-residency@ / TSC", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / TSC", 38 "BriefDescription": "C7 residency percent per core", 39 "MetricExpr": "cstate_core@c7\\-residency@ / TSC", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / TSC", [all …]
|
| /kernel/uniproton/ |
| D | uniproton.gni | 1 # Copyright (c) 2022-2022 Huawei Technologies Co., Ltd. All rights reserved. 8 # EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 11 # Create: 2022-09-21 27 " --header-path $MENUCONFIG_H" + " --file-list kconfig_files.txt" + 28 " --env-list kconfig_env.txt" + " --config-out config.gni" ], 42 cmd = "grep -c '^\s*\(kernel_module\|hdf_driver\)\s*(\s*\S*\s*)\s*{\s*\$' $build_gn" 48 …cmd = "if grep -q '^\s*\(config\s*(\s*\"public\"\s*)\|module_group\s*(\s*\"\S*\"\s*)\)\s*{\s*\$' $… 59 …cmd = "if grep -q '^\s*\(module_group\|group\)\s*(\s*\"$current_dir_name\"\s*)\s*{\s*\$' $build_gn… 134 "$OSTOPDIR/core/ipc/include", 135 "$OSTOPDIR/core/kernel/include", [all …]
|