/Linux-v5.10/tools/testing/selftests/cpu-hotplug/ |
D | cpu-on-off-test.sh | 26 if ! ls $SYSFS/devices/system/cpu/cpu* > /dev/null 2>&1; then 27 echo $msg cpu hotplug is not supported >&2 32 online_cpus=`cat $SYSFS/devices/system/cpu/online` 40 present_cpus=`cat $SYSFS/devices/system/cpu/present` 46 offline_cpus=`cat $SYSFS/devices/system/cpu/offline` 62 for cpu in $SYSFS/devices/system/cpu/cpu*; do 63 if [ -f $cpu/online ] && grep -q $state $cpu/online; then 64 echo ${cpu##/*/cpu} 81 grep -q 1 $SYSFS/devices/system/cpu/cpu$1/online 86 grep -q 0 $SYSFS/devices/system/cpu/cpu$1/online [all …]
|
/Linux-v5.10/arch/arm/boot/dts/ |
D | axm5516-cpus.dtsi | 13 cpu-map { 16 cpu = <&CPU0>; 19 cpu = <&CPU1>; 22 cpu = <&CPU2>; 25 cpu = <&CPU3>; 30 cpu = <&CPU4>; 33 cpu = <&CPU5>; 36 cpu = <&CPU6>; 39 cpu = <&CPU7>; 44 cpu = <&CPU8>; [all …]
|
/Linux-v5.10/drivers/cpufreq/ |
D | intel_pstate.c | 233 int cpu; member 343 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 349 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_set_itmt_prio() 358 sched_set_itmt_core_prio(cppc_perf.highest_perf, cpu); in intel_pstate_set_itmt_prio() 379 static int intel_pstate_get_cppc_guranteed(int cpu) in intel_pstate_get_cppc_guranteed() argument 384 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_get_cppc_guranteed() 395 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 402 struct cpudata *cpu; in intel_pstate_init_acpi_perf_limits() local 407 intel_pstate_set_itmt_prio(policy->cpu); in intel_pstate_init_acpi_perf_limits() 414 cpu = all_cpu_data[policy->cpu]; in intel_pstate_init_acpi_perf_limits() [all …]
|
D | cppc_cpufreq.c | 99 static unsigned int cppc_cpufreq_perf_to_khz(struct cppc_cpudata *cpu, in cppc_cpufreq_perf_to_khz() argument 103 struct cppc_perf_caps *caps = &cpu->perf_caps; in cppc_cpufreq_perf_to_khz() 123 static unsigned int cppc_cpufreq_khz_to_perf(struct cppc_cpudata *cpu, in cppc_cpufreq_khz_to_perf() argument 127 struct cppc_perf_caps *caps = &cpu->perf_caps; in cppc_cpufreq_khz_to_perf() 152 struct cppc_cpudata *cpu; in cppc_cpufreq_set_target() local 157 cpu = all_cpu_data[policy->cpu]; in cppc_cpufreq_set_target() 159 desired_perf = cppc_cpufreq_khz_to_perf(cpu, target_freq); in cppc_cpufreq_set_target() 161 if (desired_perf == cpu->perf_ctrls.desired_perf) in cppc_cpufreq_set_target() 164 cpu->perf_ctrls.desired_perf = desired_perf; in cppc_cpufreq_set_target() 169 ret = cppc_set_perf(cpu->cpu, &cpu->perf_ctrls); in cppc_cpufreq_set_target() [all …]
|
/Linux-v5.10/arch/powerpc/kernel/ |
D | smp.c | 258 void smp_muxed_ipi_set_message(int cpu, int msg) in smp_muxed_ipi_set_message() argument 260 struct cpu_messages *info = &per_cpu(ipi_message, cpu); in smp_muxed_ipi_set_message() 270 void smp_muxed_ipi_message_pass(int cpu, int msg) in smp_muxed_ipi_message_pass() argument 272 smp_muxed_ipi_set_message(cpu, msg); in smp_muxed_ipi_message_pass() 278 smp_ops->cause_ipi(cpu); in smp_muxed_ipi_message_pass() 332 static inline void do_message_pass(int cpu, int msg) in do_message_pass() argument 335 smp_ops->message_pass(cpu, msg); in do_message_pass() 338 smp_muxed_ipi_message_pass(cpu, msg); in do_message_pass() 342 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument 345 do_message_pass(cpu, PPC_MSG_RESCHEDULE); in smp_send_reschedule() [all …]
|
D | watchdog.c | 114 int cpu = raw_smp_processor_id(); in wd_lockup_ipi() local 117 pr_emerg("CPU %d Hard LOCKUP\n", cpu); in wd_lockup_ipi() 119 cpu, tb, per_cpu(wd_timer_tb, cpu), in wd_lockup_ipi() 120 tb_to_ns(tb - per_cpu(wd_timer_tb, cpu)) / 1000000); in wd_lockup_ipi() 142 static void set_cpu_stuck(int cpu, u64 tb) in set_cpu_stuck() argument 144 set_cpumask_stuck(cpumask_of(cpu), tb); in set_cpu_stuck() 147 static void watchdog_smp_panic(int cpu, u64 tb) in watchdog_smp_panic() argument 156 if (cpumask_test_cpu(cpu, &wd_smp_cpus_pending)) in watchdog_smp_panic() 162 cpu, cpumask_pr_args(&wd_smp_cpus_pending)); in watchdog_smp_panic() 164 cpu, tb, wd_smp_last_reset_tb, in watchdog_smp_panic() [all …]
|
D | tau_6xx.c | 55 static void set_thresholds(unsigned long cpu) in set_thresholds() argument 60 mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | maybe_tie | THRM1_TID); in set_thresholds() 63 mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | maybe_tie); in set_thresholds() 66 static void TAUupdate(int cpu) in TAUupdate() argument 77 if (tau[cpu].low >= step_size) { in TAUupdate() 78 tau[cpu].low -= step_size; in TAUupdate() 79 tau[cpu].high -= (step_size - window_expand); in TAUupdate() 81 tau[cpu].grew = 1; in TAUupdate() 88 if (tau[cpu].high <= 127 - step_size) { in TAUupdate() 89 tau[cpu].low += (step_size - window_expand); in TAUupdate() [all …]
|
/Linux-v5.10/arch/arc/kernel/ |
D | setup.c | 70 static void read_decode_ccm_bcr(struct cpuinfo_arc *cpu) in read_decode_ccm_bcr() argument 78 cpu->iccm.sz = 4096 << iccm.sz; /* 8K to 512K */ in read_decode_ccm_bcr() 79 cpu->iccm.base_addr = iccm.base << 16; in read_decode_ccm_bcr() 85 cpu->dccm.sz = 2048 << dccm.sz; /* 2K to 256K */ in read_decode_ccm_bcr() 88 cpu->dccm.base_addr = base & ~0xF; in read_decode_ccm_bcr() 97 cpu->iccm.sz = 256 << iccm.sz00; /* 512B to 16M */ in read_decode_ccm_bcr() 99 cpu->iccm.sz <<= iccm.sz01; in read_decode_ccm_bcr() 102 cpu->iccm.base_addr = region & 0xF0000000; in read_decode_ccm_bcr() 107 cpu->dccm.sz = 256 << dccm.sz0; in read_decode_ccm_bcr() 109 cpu->dccm.sz <<= dccm.sz1; in read_decode_ccm_bcr() [all …]
|
/Linux-v5.10/include/linux/ |
D | cpumask.h | 117 #define cpu_online(cpu) cpumask_test_cpu((cpu), cpu_online_mask) argument 118 #define cpu_possible(cpu) cpumask_test_cpu((cpu), cpu_possible_mask) argument 119 #define cpu_present(cpu) cpumask_test_cpu((cpu), cpu_present_mask) argument 120 #define cpu_active(cpu) cpumask_test_cpu((cpu), cpu_active_mask) argument 126 #define cpu_online(cpu) ((cpu) == 0) argument 127 #define cpu_possible(cpu) ((cpu) == 0) argument 128 #define cpu_present(cpu) ((cpu) == 0) argument 129 #define cpu_active(cpu) ((cpu) == 0) argument 134 static inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits) in cpu_max_bits_warn() argument 137 WARN_ON_ONCE(cpu >= bits); in cpu_max_bits_warn() [all …]
|
/Linux-v5.10/arch/microblaze/kernel/cpu/ |
D | cpuinfo-static.c | 23 void __init set_cpuinfo_static(struct cpuinfo *ci, struct device_node *cpu) in set_cpuinfo_static() argument 28 (fcpu(cpu, "xlnx,use-barrel") ? PVR0_USE_BARREL_MASK : 0) | in set_cpuinfo_static() 29 (fcpu(cpu, "xlnx,use-msr-instr") ? PVR2_USE_MSR_INSTR : 0) | in set_cpuinfo_static() 30 (fcpu(cpu, "xlnx,use-pcmp-instr") ? PVR2_USE_PCMP_INSTR : 0) | in set_cpuinfo_static() 31 (fcpu(cpu, "xlnx,use-div") ? PVR0_USE_DIV_MASK : 0); in set_cpuinfo_static() 43 ci->use_mult = fcpu(cpu, "xlnx,use-hw-mul"); in set_cpuinfo_static() 51 ci->use_fpu = fcpu(cpu, "xlnx,use-fpu"); in set_cpuinfo_static() 59 (fcpu(cpu, "xlnx,unaligned-exceptions") ? in set_cpuinfo_static() 61 (fcpu(cpu, "xlnx,ill-opcode-exception") ? in set_cpuinfo_static() 63 (fcpu(cpu, "xlnx,iopb-bus-exception") ? in set_cpuinfo_static() [all …]
|
/Linux-v5.10/arch/x86/xen/ |
D | smp.c | 33 void xen_smp_intr_free(unsigned int cpu) in xen_smp_intr_free() argument 35 if (per_cpu(xen_resched_irq, cpu).irq >= 0) { in xen_smp_intr_free() 36 unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu).irq, NULL); in xen_smp_intr_free() 37 per_cpu(xen_resched_irq, cpu).irq = -1; in xen_smp_intr_free() 38 kfree(per_cpu(xen_resched_irq, cpu).name); in xen_smp_intr_free() 39 per_cpu(xen_resched_irq, cpu).name = NULL; in xen_smp_intr_free() 41 if (per_cpu(xen_callfunc_irq, cpu).irq >= 0) { in xen_smp_intr_free() 42 unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu).irq, NULL); in xen_smp_intr_free() 43 per_cpu(xen_callfunc_irq, cpu).irq = -1; in xen_smp_intr_free() 44 kfree(per_cpu(xen_callfunc_irq, cpu).name); in xen_smp_intr_free() [all …]
|
D | smp_pv.c | 62 int cpu; in cpu_bringup() local 74 cpu = smp_processor_id(); in cpu_bringup() 75 smp_store_cpu_info(cpu); in cpu_bringup() 76 cpu_data(cpu).x86_max_cores = 1; in cpu_bringup() 77 set_cpu_sibling_map(cpu); in cpu_bringup() 83 notify_cpu_starting(cpu); in cpu_bringup() 85 set_cpu_online(cpu, true); in cpu_bringup() 87 cpu_set_state_online(cpu); /* Implies full memory barrier. */ in cpu_bringup() 99 void xen_smp_intr_free_pv(unsigned int cpu) in xen_smp_intr_free_pv() argument 101 if (per_cpu(xen_irq_work, cpu).irq >= 0) { in xen_smp_intr_free_pv() [all …]
|
/Linux-v5.10/arch/arm/mach-tegra/ |
D | platsmp.c | 36 static void tegra_secondary_init(unsigned int cpu) in tegra_secondary_init() argument 38 cpumask_set_cpu(cpu, &tegra_cpu_init_mask); in tegra_secondary_init() 42 static int tegra20_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra20_boot_secondary() argument 44 cpu = cpu_logical_map(cpu); in tegra20_boot_secondary() 54 tegra_put_cpu_in_reset(cpu); in tegra20_boot_secondary() 62 flowctrl_write_cpu_halt(cpu, 0); in tegra20_boot_secondary() 64 tegra_enable_cpu_clock(cpu); in tegra20_boot_secondary() 65 flowctrl_write_cpu_csr(cpu, 0); /* Clear flow controller CSR. */ in tegra20_boot_secondary() 66 tegra_cpu_out_of_reset(cpu); in tegra20_boot_secondary() 70 static int tegra30_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra30_boot_secondary() argument [all …]
|
/Linux-v5.10/kernel/ |
D | smpboot.c | 30 struct task_struct *idle_thread_get(unsigned int cpu) in idle_thread_get() argument 32 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_thread_get() 36 init_idle(tsk, cpu); in idle_thread_get() 51 static inline void idle_init(unsigned int cpu) in idle_init() argument 53 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_init() 56 tsk = fork_idle(cpu); in idle_init() 58 pr_err("SMP: fork_idle() failed for CPU %u\n", cpu); in idle_init() 60 per_cpu(idle_threads, cpu) = tsk; in idle_init() 69 unsigned int cpu, boot_cpu; in idle_threads_init() local 73 for_each_possible_cpu(cpu) { in idle_threads_init() [all …]
|
/Linux-v5.10/arch/arm/mach-meson/ |
D | platsmp.c | 38 static struct reset_control *meson_smp_get_core_reset(int cpu) in meson_smp_get_core_reset() argument 40 struct device_node *np = of_get_cpu_node(cpu, 0); in meson_smp_get_core_reset() 45 static void meson_smp_set_cpu_ctrl(int cpu, bool on_off) in meson_smp_set_cpu_ctrl() argument 50 val |= BIT(cpu); in meson_smp_set_cpu_ctrl() 52 val &= ~BIT(cpu); in meson_smp_set_cpu_ctrl() 114 static void meson_smp_begin_secondary_boot(unsigned int cpu) in meson_smp_begin_secondary_boot() argument 123 sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu)); in meson_smp_begin_secondary_boot() 129 scu_cpu_power_enable(scu_base, cpu); in meson_smp_begin_secondary_boot() 132 static int meson_smp_finalize_secondary_boot(unsigned int cpu) in meson_smp_finalize_secondary_boot() argument 137 while (readl(sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu))) { in meson_smp_finalize_secondary_boot() [all …]
|
/Linux-v5.10/arch/arm/mach-bcm/ |
D | platsmp-brcmstb.c | 67 static int per_cpu_sw_state_rd(u32 cpu) in per_cpu_sw_state_rd() argument 69 sync_cache_r(SHIFT_PERCPU_PTR(&per_cpu_sw_state, per_cpu_offset(cpu))); in per_cpu_sw_state_rd() 70 return per_cpu(per_cpu_sw_state, cpu); in per_cpu_sw_state_rd() 73 static void per_cpu_sw_state_wr(u32 cpu, int val) in per_cpu_sw_state_wr() argument 76 per_cpu(per_cpu_sw_state, cpu) = val; in per_cpu_sw_state_wr() 77 sync_cache_w(SHIFT_PERCPU_PTR(&per_cpu_sw_state, per_cpu_offset(cpu))); in per_cpu_sw_state_wr() 80 static inline void per_cpu_sw_state_wr(u32 cpu, int val) { } in per_cpu_sw_state_wr() argument 83 static void __iomem *pwr_ctrl_get_base(u32 cpu) in pwr_ctrl_get_base() argument 86 base += (cpu_logical_map(cpu) * 4); in pwr_ctrl_get_base() 90 static u32 pwr_ctrl_rd(u32 cpu) in pwr_ctrl_rd() argument [all …]
|
/Linux-v5.10/drivers/base/ |
D | arch_topology.c | 61 void topology_set_cpu_scale(unsigned int cpu, unsigned long capacity) in topology_set_cpu_scale() argument 63 per_cpu(cpu_scale, cpu) = capacity; in topology_set_cpu_scale() 71 int cpu; in topology_set_thermal_pressure() local 73 for_each_cpu(cpu, cpus) in topology_set_thermal_pressure() 74 WRITE_ONCE(per_cpu(thermal_pressure, cpu), th_pressure); in topology_set_thermal_pressure() 81 struct cpu *cpu = container_of(dev, struct cpu, dev); in cpu_capacity_show() local 83 return sysfs_emit(buf, "%lu\n", topology_get_cpu_scale(cpu->dev.id)); in cpu_capacity_show() 94 struct device *cpu; in register_cpu_capacity_sysctl() local 97 cpu = get_cpu_device(i); in register_cpu_capacity_sysctl() 98 if (!cpu) { in register_cpu_capacity_sysctl() [all …]
|
/Linux-v5.10/tools/power/x86/intel-speed-select/ |
D | isst-core.c | 9 int isst_write_pm_config(int cpu, int cp_state) in isst_write_pm_config() argument 19 ret = isst_send_mbox_command(cpu, WRITE_PM_CONFIG, PM_FEATURE, 0, req, in isst_write_pm_config() 24 debug_printf("cpu:%d WRITE_PM_CONFIG resp:%x\n", cpu, resp); in isst_write_pm_config() 29 int isst_read_pm_config(int cpu, int *cp_state, int *cp_cap) in isst_read_pm_config() argument 34 ret = isst_send_mbox_command(cpu, READ_PM_CONFIG, PM_FEATURE, 0, 0, in isst_read_pm_config() 39 debug_printf("cpu:%d READ_PM_CONFIG resp:%x\n", cpu, resp); in isst_read_pm_config() 47 int isst_get_ctdp_levels(int cpu, struct isst_pkg_ctdp *pkg_dev) in isst_get_ctdp_levels() argument 52 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_ctdp_levels() 63 debug_printf("cpu:%d CONFIG_TDP_GET_LEVELS_INFO resp:%x\n", cpu, resp); in isst_get_ctdp_levels() 74 int isst_get_ctdp_control(int cpu, int config_index, in isst_get_ctdp_control() argument [all …]
|
/Linux-v5.10/arch/powerpc/include/asm/ |
D | smp.h | 33 extern int cpu_to_chip_id(int cpu); 38 void (*message_pass)(int cpu, int msg); 40 void (*cause_ipi)(int cpu); 42 int (*cause_nmi_ipi)(int cpu); 58 extern int smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 59 extern int smp_send_safe_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 69 void generic_cpu_die(unsigned int cpu); 70 void generic_set_cpu_dead(unsigned int cpu); 71 void generic_set_cpu_up(unsigned int cpu); 72 int generic_check_cpu_restart(unsigned int cpu); [all …]
|
/Linux-v5.10/arch/arm64/kernel/ |
D | smp.c | 84 static void ipi_setup(int cpu); 87 static void ipi_teardown(int cpu); 88 static int op_cpu_kill(unsigned int cpu); 90 static inline int op_cpu_kill(unsigned int cpu) in op_cpu_kill() argument 101 static int boot_secondary(unsigned int cpu, struct task_struct *idle) in boot_secondary() argument 103 const struct cpu_operations *ops = get_cpu_ops(cpu); in boot_secondary() 106 return ops->cpu_boot(cpu); in boot_secondary() 113 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument 128 ret = boot_secondary(cpu, idle); in __cpu_up() 130 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up() [all …]
|
/Linux-v5.10/drivers/xen/ |
D | cpu_hotplug.c | 12 static void enable_hotplug_cpu(int cpu) in enable_hotplug_cpu() argument 14 if (!cpu_present(cpu)) in enable_hotplug_cpu() 15 xen_arch_register_cpu(cpu); in enable_hotplug_cpu() 17 set_cpu_present(cpu, true); in enable_hotplug_cpu() 20 static void disable_hotplug_cpu(int cpu) in disable_hotplug_cpu() argument 22 if (!cpu_is_hotpluggable(cpu)) in disable_hotplug_cpu() 25 if (cpu_online(cpu)) in disable_hotplug_cpu() 26 device_offline(get_cpu_device(cpu)); in disable_hotplug_cpu() 27 if (!cpu_online(cpu) && cpu_present(cpu)) { in disable_hotplug_cpu() 28 xen_arch_unregister_cpu(cpu); in disable_hotplug_cpu() [all …]
|
/Linux-v5.10/arch/x86/include/asm/ |
D | topology.h | 48 extern int __cpu_to_node(int cpu); 51 extern int early_cpu_to_node(int cpu); 56 static inline int early_cpu_to_node(int cpu) in early_cpu_to_node() argument 58 return early_per_cpu(x86_cpu_to_node_map, cpu); in early_cpu_to_node() 94 static inline int early_cpu_to_node(int cpu) in early_cpu_to_node() argument 105 extern const struct cpumask *cpu_coregroup_mask(int cpu); 107 #define topology_logical_package_id(cpu) (cpu_data(cpu).logical_proc_id) argument 108 #define topology_physical_package_id(cpu) (cpu_data(cpu).phys_proc_id) argument 109 #define topology_logical_die_id(cpu) (cpu_data(cpu).logical_die_id) argument 110 #define topology_die_id(cpu) (cpu_data(cpu).cpu_die_id) argument [all …]
|
/Linux-v5.10/arch/s390/include/asm/ |
D | topology.h | 9 struct cpu; 29 #define topology_physical_package_id(cpu) (cpu_topology[cpu].socket_id) argument 30 #define topology_thread_id(cpu) (cpu_topology[cpu].thread_id) argument 31 #define topology_sibling_cpumask(cpu) (&cpu_topology[cpu].thread_mask) argument 32 #define topology_core_id(cpu) (cpu_topology[cpu].core_id) argument 33 #define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_mask) argument 34 #define topology_book_id(cpu) (cpu_topology[cpu].book_id) argument 35 #define topology_book_cpumask(cpu) (&cpu_topology[cpu].book_mask) argument 36 #define topology_drawer_id(cpu) (cpu_topology[cpu].drawer_id) argument 37 #define topology_drawer_cpumask(cpu) (&cpu_topology[cpu].drawer_mask) argument [all …]
|
/Linux-v5.10/arch/ia64/kernel/ |
D | err_inject.c | 61 u32 cpu=dev->id; \ 62 return sprintf(buf, "%lx\n", name[cpu]); \ 70 unsigned int cpu=dev->id; \ 71 name[cpu] = simple_strtoull(buf, NULL, 16); \ 84 unsigned int cpu=dev->id; in show() local 88 printk(KERN_DEBUG "pal_mc_err_inject for cpu%d:\n", cpu); in show() 89 printk(KERN_DEBUG "err_type_info=%lx,\n", err_type_info[cpu]); in show() 90 printk(KERN_DEBUG "err_struct_info=%lx,\n", err_struct_info[cpu]); in show() 92 err_data_buffer[cpu].data1, in show() 93 err_data_buffer[cpu].data2, in show() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/cpu/ |
D | cpu-topology.txt | 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 25 CPU topology bindings allow one to associate cpu nodes with hierarchical groups 29 Currently, only ARM/RISC-V intend to use this cpu topology binding but it may be 32 The cpu nodes, as per bindings defined in [4], represent the devices that 35 A topology description containing phandles to cpu nodes that are not compliant 39 2 - cpu-map node 42 The ARM/RISC-V CPU topology is defined within the cpu-map node, which is a direct 46 - cpu-map node 51 cpu-map node. [all …]
|