/Linux-v5.15/drivers/cpufreq/ |
D | intel_pstate.c | 226 int cpu; member 285 int (*get_cpu_scaling)(int cpu); 338 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 344 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_set_itmt_prio() 353 sched_set_itmt_core_prio(cppc_perf.highest_perf, cpu); in intel_pstate_set_itmt_prio() 374 static int intel_pstate_get_cppc_guaranteed(int cpu) in intel_pstate_get_cppc_guaranteed() argument 379 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_get_cppc_guaranteed() 389 static u32 intel_pstate_cppc_nominal(int cpu) in intel_pstate_cppc_nominal() argument 393 if (cppc_get_nominal_perf(cpu, &nominal_perf)) in intel_pstate_cppc_nominal() 399 static inline void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument [all …]
|
/Linux-v5.15/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.15/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.15/arch/powerpc/kernel/ |
D | smp.c | 284 void smp_muxed_ipi_set_message(int cpu, int msg) in smp_muxed_ipi_set_message() argument 286 struct cpu_messages *info = &per_cpu(ipi_message, cpu); in smp_muxed_ipi_set_message() 296 void smp_muxed_ipi_message_pass(int cpu, int msg) in smp_muxed_ipi_message_pass() argument 298 smp_muxed_ipi_set_message(cpu, msg); in smp_muxed_ipi_message_pass() 304 smp_ops->cause_ipi(cpu); in smp_muxed_ipi_message_pass() 358 static inline void do_message_pass(int cpu, int msg) in do_message_pass() argument 361 smp_ops->message_pass(cpu, msg); in do_message_pass() 364 smp_muxed_ipi_message_pass(cpu, msg); in do_message_pass() 368 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument 371 do_message_pass(cpu, PPC_MSG_RESCHEDULE); in smp_send_reschedule() [all …]
|
D | tau_6xx.c | 56 static void set_thresholds(unsigned long cpu) in set_thresholds() argument 61 mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | maybe_tie | THRM1_TID); in set_thresholds() 64 mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | maybe_tie); in set_thresholds() 67 static void TAUupdate(int cpu) in TAUupdate() argument 78 if (tau[cpu].low >= step_size) { in TAUupdate() 79 tau[cpu].low -= step_size; in TAUupdate() 80 tau[cpu].high -= (step_size - window_expand); in TAUupdate() 82 tau[cpu].grew = 1; in TAUupdate() 89 if (tau[cpu].high <= 127 - step_size) { in TAUupdate() 90 tau[cpu].low += (step_size - window_expand); in TAUupdate() [all …]
|
D | watchdog.c | 117 int cpu = raw_smp_processor_id(); in wd_lockup_ipi() local 120 pr_emerg("CPU %d Hard LOCKUP\n", cpu); in wd_lockup_ipi() 122 cpu, tb, per_cpu(wd_timer_tb, cpu), in wd_lockup_ipi() 123 tb_to_ns(tb - per_cpu(wd_timer_tb, cpu)) / 1000000); in wd_lockup_ipi() 145 static void set_cpu_stuck(int cpu, u64 tb) in set_cpu_stuck() argument 147 set_cpumask_stuck(cpumask_of(cpu), tb); in set_cpu_stuck() 150 static void watchdog_smp_panic(int cpu, u64 tb) in watchdog_smp_panic() argument 159 if (cpumask_test_cpu(cpu, &wd_smp_cpus_pending)) in watchdog_smp_panic() 165 cpu, cpumask_pr_args(&wd_smp_cpus_pending)); in watchdog_smp_panic() 167 cpu, tb, wd_smp_last_reset_tb, in watchdog_smp_panic() [all …]
|
/Linux-v5.15/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.15/drivers/base/ |
D | arch_topology.c | 61 int cpu; in topology_set_scale_freq_source() local 72 for_each_cpu(cpu, cpus) { in topology_set_scale_freq_source() 73 sfd = rcu_dereference(*per_cpu_ptr(&sft_data, cpu)); in topology_set_scale_freq_source() 77 rcu_assign_pointer(per_cpu(sft_data, cpu), data); in topology_set_scale_freq_source() 78 cpumask_set_cpu(cpu, &scale_freq_counters_mask); in topology_set_scale_freq_source() 92 int cpu; in topology_clear_scale_freq_source() local 96 for_each_cpu(cpu, cpus) { in topology_clear_scale_freq_source() 97 sfd = rcu_dereference(*per_cpu_ptr(&sft_data, cpu)); in topology_clear_scale_freq_source() 100 rcu_assign_pointer(per_cpu(sft_data, cpu), NULL); in topology_clear_scale_freq_source() 101 cpumask_clear_cpu(cpu, &scale_freq_counters_mask); in topology_clear_scale_freq_source() [all …]
|
/Linux-v5.15/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.15/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 73 cpu = smp_processor_id(); in cpu_bringup() 74 smp_store_cpu_info(cpu); in cpu_bringup() 75 cpu_data(cpu).x86_max_cores = 1; in cpu_bringup() 76 set_cpu_sibling_map(cpu); in cpu_bringup() 82 notify_cpu_starting(cpu); in cpu_bringup() 84 set_cpu_online(cpu, true); in cpu_bringup() 86 cpu_set_state_online(cpu); /* Implies full memory barrier. */ in cpu_bringup() 98 void xen_smp_intr_free_pv(unsigned int cpu) in xen_smp_intr_free_pv() argument 100 if (per_cpu(xen_irq_work, cpu).irq >= 0) { in xen_smp_intr_free_pv() [all …]
|
/Linux-v5.15/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() 50 static __always_inline void idle_init(unsigned int cpu) in idle_init() argument 52 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_init() 55 tsk = fork_idle(cpu); in idle_init() 57 pr_err("SMP: fork_idle() failed for CPU %u\n", cpu); in idle_init() 59 per_cpu(idle_threads, cpu) = tsk; in idle_init() 68 unsigned int cpu, boot_cpu; in idle_threads_init() local 72 for_each_possible_cpu(cpu) { in idle_threads_init() 73 if (cpu != boot_cpu) in idle_threads_init() [all …]
|
/Linux-v5.15/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.15/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.15/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.15/arch/powerpc/include/asm/ |
D | smp.h | 33 extern int cpu_to_chip_id(int cpu); 43 void (*message_pass)(int cpu, int msg); 45 void (*cause_ipi)(int cpu); 47 int (*cause_nmi_ipi)(int cpu); 63 extern int smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 64 extern int smp_send_safe_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 74 void generic_cpu_die(unsigned int cpu); 75 void generic_set_cpu_dead(unsigned int cpu); 76 void generic_set_cpu_up(unsigned int cpu); 77 int generic_check_cpu_restart(unsigned int cpu); [all …]
|
/Linux-v5.15/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.15/include/linux/ |
D | cpumask.h | 105 static inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits) in cpu_max_bits_warn() argument 108 WARN_ON_ONCE(cpu >= bits); in cpu_max_bits_warn() 113 static inline unsigned int cpumask_check(unsigned int cpu) in cpumask_check() argument 115 cpu_max_bits_warn(cpu, nr_cpumask_bits); in cpumask_check() 116 return cpu; in cpumask_check() 158 unsigned int cpu) in cpumask_any_but() 178 #define for_each_cpu(cpu, mask) \ argument 179 for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask) 180 #define for_each_cpu_not(cpu, mask) \ argument 181 for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask) [all …]
|
/Linux-v5.15/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.15/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 126 ret = boot_secondary(cpu, idle); in __cpu_up() 128 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up() [all …]
|
/Linux-v5.15/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.15/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.15/arch/ia64/kernel/ |
D | err_inject.c | 61 u32 cpu=dev->id; \ 62 return sprintf(buf, "%llx\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=%llx,\n", err_type_info[cpu]); in show() 90 printk(KERN_DEBUG "err_struct_info=%llx,\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.15/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 …]
|
/Linux-v5.15/arch/arm/kernel/ |
D | smp.c | 87 static void ipi_setup(int cpu); 109 static int secondary_biglittle_prepare(unsigned int cpu) in secondary_biglittle_prepare() argument 111 if (!cpu_vtable[cpu]) in secondary_biglittle_prepare() 112 cpu_vtable[cpu] = kzalloc(sizeof(*cpu_vtable[cpu]), GFP_KERNEL); in secondary_biglittle_prepare() 114 return cpu_vtable[cpu] ? 0 : -ENOMEM; in secondary_biglittle_prepare() 122 static int secondary_biglittle_prepare(unsigned int cpu) in secondary_biglittle_prepare() argument 132 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument 139 ret = secondary_biglittle_prepare(cpu); in __cpu_up() 161 ret = smp_ops.smp_boot_secondary(cpu, idle); in __cpu_up() 170 if (!cpu_online(cpu)) { in __cpu_up() [all …]
|