/Linux-v4.19/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` 42 offline_cpus=`cat $SYSFS/devices/system/cpu/offline` 58 for cpu in $SYSFS/devices/system/cpu/cpu*; do 59 if [ -f $cpu/online ] && grep -q $state $cpu/online; then 60 echo ${cpu##/*/cpu} 77 grep -q 1 $SYSFS/devices/system/cpu/cpu$1/online 82 grep -q 0 $SYSFS/devices/system/cpu/cpu$1/online 87 echo 1 > $SYSFS/devices/system/cpu/cpu$1/online [all …]
|
/Linux-v4.19/arch/arm/boot/dts/ |
D | axm5516-cpus.dtsi | 17 cpu-map { 20 cpu = <&CPU0>; 23 cpu = <&CPU1>; 26 cpu = <&CPU2>; 29 cpu = <&CPU3>; 34 cpu = <&CPU4>; 37 cpu = <&CPU5>; 40 cpu = <&CPU6>; 43 cpu = <&CPU7>; 48 cpu = <&CPU8>; [all …]
|
/Linux-v4.19/arch/powerpc/kernel/ |
D | smp.c | 229 void smp_muxed_ipi_set_message(int cpu, int msg) in smp_muxed_ipi_set_message() argument 231 struct cpu_messages *info = &per_cpu(ipi_message, cpu); in smp_muxed_ipi_set_message() 241 void smp_muxed_ipi_message_pass(int cpu, int msg) in smp_muxed_ipi_message_pass() argument 243 smp_muxed_ipi_set_message(cpu, msg); in smp_muxed_ipi_message_pass() 249 smp_ops->cause_ipi(cpu); in smp_muxed_ipi_message_pass() 303 static inline void do_message_pass(int cpu, int msg) in do_message_pass() argument 306 smp_ops->message_pass(cpu, msg); in do_message_pass() 309 smp_muxed_ipi_message_pass(cpu, msg); in do_message_pass() 313 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument 316 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 | 56 static void set_thresholds(unsigned long cpu) in set_thresholds() argument 63 mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | THRM1_TIE | THRM1_TID); in set_thresholds() 68 mtspr (SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V | THRM1_TIE); in set_thresholds() 71 mtspr(SPRN_THRM1, THRM1_THRES(tau[cpu].low) | THRM1_V | THRM1_TID); in set_thresholds() 72 mtspr(SPRN_THRM2, THRM1_THRES(tau[cpu].high) | THRM1_V); in set_thresholds() 76 static void TAUupdate(int cpu) in TAUupdate() argument 88 if (tau[cpu].low >= step_size){ in TAUupdate() 89 tau[cpu].low -= step_size; in TAUupdate() 90 tau[cpu].high -= (step_size - window_expand); in TAUupdate() 92 tau[cpu].grew = 1; in TAUupdate() [all …]
|
/Linux-v4.19/arch/arm64/kernel/ |
D | smp.c | 89 static int op_cpu_kill(unsigned int cpu); 91 static inline int op_cpu_kill(unsigned int cpu) in op_cpu_kill() argument 102 static int boot_secondary(unsigned int cpu, struct task_struct *idle) in boot_secondary() argument 104 if (cpu_ops[cpu]->cpu_boot) in boot_secondary() 105 return cpu_ops[cpu]->cpu_boot(cpu); in boot_secondary() 112 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument 129 ret = boot_secondary(cpu, idle); in __cpu_up() 138 if (!cpu_online(cpu)) { in __cpu_up() 139 pr_crit("CPU%u: failed to come online\n", cpu); in __cpu_up() 143 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up() [all …]
|
D | topology.c | 37 int cpu; in get_cpu_for_node() local 43 cpu = of_cpu_node_to_id(cpu_node); in get_cpu_for_node() 44 if (cpu >= 0) in get_cpu_for_node() 45 topology_parse_cpu_capacity(cpu_node, cpu); in get_cpu_for_node() 50 return cpu; in get_cpu_for_node() 59 int cpu; in parse_core() local 67 cpu = get_cpu_for_node(t); in parse_core() 68 if (cpu >= 0) { in parse_core() 69 cpu_topology[cpu].package_id = package_id; in parse_core() 70 cpu_topology[cpu].core_id = core_id; in parse_core() [all …]
|
/Linux-v4.19/drivers/cpufreq/ |
D | cppc_cpufreq.c | 84 static unsigned int cppc_cpufreq_perf_to_khz(struct cppc_cpudata *cpu, in cppc_cpufreq_perf_to_khz() argument 88 struct cppc_perf_caps *caps = &cpu->perf_caps; in cppc_cpufreq_perf_to_khz() 103 div = cpu->perf_caps.highest_perf; in cppc_cpufreq_perf_to_khz() 108 static unsigned int cppc_cpufreq_khz_to_perf(struct cppc_cpudata *cpu, in cppc_cpufreq_khz_to_perf() argument 112 struct cppc_perf_caps *caps = &cpu->perf_caps; in cppc_cpufreq_khz_to_perf() 126 mul = cpu->perf_caps.highest_perf; in cppc_cpufreq_khz_to_perf() 137 struct cppc_cpudata *cpu; in cppc_cpufreq_set_target() local 142 cpu = all_cpu_data[policy->cpu]; in cppc_cpufreq_set_target() 144 desired_perf = cppc_cpufreq_khz_to_perf(cpu, target_freq); in cppc_cpufreq_set_target() 146 if (desired_perf == cpu->perf_ctrls.desired_perf) in cppc_cpufreq_set_target() [all …]
|
D | intel_pstate.c | 233 int cpu; member 341 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 347 ret = cppc_get_perf_caps(cpu, &cppc_perf); in intel_pstate_set_itmt_prio() 356 sched_set_itmt_core_prio(cppc_perf.highest_perf, cpu); in intel_pstate_set_itmt_prio() 377 static void intel_pstate_set_itmt_prio(int cpu) in intel_pstate_set_itmt_prio() argument 384 struct cpudata *cpu; in intel_pstate_init_acpi_perf_limits() local 389 intel_pstate_set_itmt_prio(policy->cpu); in intel_pstate_init_acpi_perf_limits() 396 cpu = all_cpu_data[policy->cpu]; in intel_pstate_init_acpi_perf_limits() 398 ret = acpi_processor_register_performance(&cpu->acpi_perf_data, in intel_pstate_init_acpi_perf_limits() 399 policy->cpu); in intel_pstate_init_acpi_perf_limits() [all …]
|
/Linux-v4.19/arch/arc/kernel/ |
D | setup.c | 71 static void read_decode_ccm_bcr(struct cpuinfo_arc *cpu) in read_decode_ccm_bcr() argument 79 cpu->iccm.sz = 4096 << iccm.sz; /* 8K to 512K */ in read_decode_ccm_bcr() 80 cpu->iccm.base_addr = iccm.base << 16; in read_decode_ccm_bcr() 86 cpu->dccm.sz = 2048 << dccm.sz; /* 2K to 256K */ in read_decode_ccm_bcr() 89 cpu->dccm.base_addr = base & ~0xF; in read_decode_ccm_bcr() 98 cpu->iccm.sz = 256 << iccm.sz00; /* 512B to 16M */ in read_decode_ccm_bcr() 100 cpu->iccm.sz <<= iccm.sz01; in read_decode_ccm_bcr() 103 cpu->iccm.base_addr = region & 0xF0000000; in read_decode_ccm_bcr() 108 cpu->dccm.sz = 256 << dccm.sz0; in read_decode_ccm_bcr() 110 cpu->dccm.sz <<= dccm.sz1; in read_decode_ccm_bcr() [all …]
|
/Linux-v4.19/include/linux/ |
D | cpumask.h | 103 #define cpu_online(cpu) cpumask_test_cpu((cpu), cpu_online_mask) argument 104 #define cpu_possible(cpu) cpumask_test_cpu((cpu), cpu_possible_mask) argument 105 #define cpu_present(cpu) cpumask_test_cpu((cpu), cpu_present_mask) argument 106 #define cpu_active(cpu) cpumask_test_cpu((cpu), cpu_active_mask) argument 112 #define cpu_online(cpu) ((cpu) == 0) argument 113 #define cpu_possible(cpu) ((cpu) == 0) argument 114 #define cpu_present(cpu) ((cpu) == 0) argument 115 #define cpu_active(cpu) ((cpu) == 0) argument 118 static inline void cpu_max_bits_warn(unsigned int cpu, unsigned int bits) in cpu_max_bits_warn() argument 121 WARN_ON_ONCE(cpu >= bits); in cpu_max_bits_warn() [all …]
|
/Linux-v4.19/arch/arm/mach-tegra/ |
D | platsmp.c | 39 static void tegra_secondary_init(unsigned int cpu) in tegra_secondary_init() argument 41 cpumask_set_cpu(cpu, &tegra_cpu_init_mask); in tegra_secondary_init() 45 static int tegra20_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra20_boot_secondary() argument 47 cpu = cpu_logical_map(cpu); in tegra20_boot_secondary() 57 tegra_put_cpu_in_reset(cpu); in tegra20_boot_secondary() 65 flowctrl_write_cpu_halt(cpu, 0); in tegra20_boot_secondary() 67 tegra_enable_cpu_clock(cpu); in tegra20_boot_secondary() 68 flowctrl_write_cpu_csr(cpu, 0); /* Clear flow controller CSR. */ in tegra20_boot_secondary() 69 tegra_cpu_out_of_reset(cpu); in tegra20_boot_secondary() 73 static int tegra30_boot_secondary(unsigned int cpu, struct task_struct *idle) in tegra30_boot_secondary() argument [all …]
|
/Linux-v4.19/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-v4.19/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 | 58 int cpu; in cpu_bringup() local 69 cpu = smp_processor_id(); in cpu_bringup() 70 smp_store_cpu_info(cpu); in cpu_bringup() 71 cpu_data(cpu).x86_max_cores = 1; in cpu_bringup() 72 set_cpu_sibling_map(cpu); in cpu_bringup() 78 notify_cpu_starting(cpu); in cpu_bringup() 80 set_cpu_online(cpu, true); in cpu_bringup() 82 cpu_set_state_online(cpu); /* Implies full memory barrier. */ in cpu_bringup() 94 void xen_smp_intr_free_pv(unsigned int cpu) in xen_smp_intr_free_pv() argument 96 if (per_cpu(xen_irq_work, cpu).irq >= 0) { in xen_smp_intr_free_pv() [all …]
|
/Linux-v4.19/kernel/ |
D | smpboot.c | 29 struct task_struct *idle_thread_get(unsigned int cpu) in idle_thread_get() argument 31 struct task_struct *tsk = per_cpu(idle_threads, cpu); in idle_thread_get() 35 init_idle(tsk, cpu); in idle_thread_get() 50 static 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() [all …]
|
/Linux-v4.19/arch/arm/mach-meson/ |
D | platsmp.c | 48 static struct reset_control *meson_smp_get_core_reset(int cpu) in meson_smp_get_core_reset() argument 50 struct device_node *np = of_get_cpu_node(cpu, 0); in meson_smp_get_core_reset() 55 static void meson_smp_set_cpu_ctrl(int cpu, bool on_off) in meson_smp_set_cpu_ctrl() argument 60 val |= BIT(cpu); in meson_smp_set_cpu_ctrl() 62 val &= ~BIT(cpu); in meson_smp_set_cpu_ctrl() 124 static void meson_smp_begin_secondary_boot(unsigned int cpu) in meson_smp_begin_secondary_boot() argument 133 sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu)); in meson_smp_begin_secondary_boot() 139 scu_cpu_power_enable(scu_base, cpu); in meson_smp_begin_secondary_boot() 142 static int meson_smp_finalize_secondary_boot(unsigned int cpu) in meson_smp_finalize_secondary_boot() argument 147 while (readl(sram_base + MESON_SMP_SRAM_CPU_CTRL_ADDR_REG(cpu))) { in meson_smp_finalize_secondary_boot() [all …]
|
/Linux-v4.19/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-v4.19/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-v4.19/arch/powerpc/include/asm/ |
D | smp.h | 37 extern int cpu_to_chip_id(int cpu); 42 void (*message_pass)(int cpu, int msg); 44 void (*cause_ipi)(int cpu); 46 int (*cause_nmi_ipi)(int cpu); 59 extern int smp_send_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 60 extern int smp_send_safe_nmi_ipi(int cpu, void (*fn)(struct pt_regs *), u64 delay_us); 70 void generic_cpu_die(unsigned int cpu); 71 void generic_set_cpu_dead(unsigned int cpu); 72 void generic_set_cpu_up(unsigned int cpu); 73 int generic_check_cpu_restart(unsigned int cpu); [all …]
|
/Linux-v4.19/arch/mips/include/asm/ |
D | mmu_context.h | 79 static unsigned long asid_version_mask(unsigned int cpu) in asid_version_mask() argument 81 unsigned long asid_mask = cpu_asid_mask(&cpu_data[cpu]); in asid_version_mask() 86 static unsigned long asid_first_version(unsigned int cpu) in asid_first_version() argument 88 return ~asid_version_mask(cpu) + 1; in asid_first_version() 91 #define cpu_context(cpu, mm) ((mm)->context.asid[cpu]) argument 92 #define asid_cache(cpu) (cpu_data[cpu].asid_cache) argument 93 #define cpu_asid(cpu, mm) \ argument 94 (cpu_context((cpu), (mm)) & cpu_asid_mask(&cpu_data[cpu])) 103 get_new_mmu_context(struct mm_struct *mm, unsigned long cpu) in get_new_mmu_context() argument 105 unsigned long asid = asid_cache(cpu); in get_new_mmu_context() [all …]
|
/Linux-v4.19/arch/arm/kernel/ |
D | smp.c | 105 int __cpu_up(unsigned int cpu, struct task_struct *idle) in __cpu_up() argument 130 ret = smp_ops.smp_boot_secondary(cpu, idle); in __cpu_up() 139 if (!cpu_online(cpu)) { in __cpu_up() 140 pr_crit("CPU%u: failed to come online\n", cpu); in __cpu_up() 144 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up() 175 static int platform_cpu_kill(unsigned int cpu) in platform_cpu_kill() argument 178 return smp_ops.cpu_kill(cpu); in platform_cpu_kill() 182 static int platform_cpu_disable(unsigned int cpu) in platform_cpu_disable() argument 185 return smp_ops.cpu_disable(cpu); in platform_cpu_disable() 190 int platform_can_hotplug_cpu(unsigned int cpu) in platform_can_hotplug_cpu() argument [all …]
|
/Linux-v4.19/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-v4.19/arch/s390/include/asm/ |
D | topology.h | 9 struct cpu; 30 #define topology_physical_package_id(cpu) (cpu_topology[cpu].socket_id) argument 31 #define topology_thread_id(cpu) (cpu_topology[cpu].thread_id) argument 32 #define topology_sibling_cpumask(cpu) (&cpu_topology[cpu].thread_mask) argument 33 #define topology_core_id(cpu) (cpu_topology[cpu].core_id) argument 34 #define topology_core_cpumask(cpu) (&cpu_topology[cpu].core_mask) argument 35 #define topology_book_id(cpu) (cpu_topology[cpu].book_id) argument 36 #define topology_book_cpumask(cpu) (&cpu_topology[cpu].book_mask) argument 37 #define topology_drawer_id(cpu) (cpu_topology[cpu].drawer_id) argument 38 #define topology_drawer_cpumask(cpu) (&cpu_topology[cpu].drawer_mask) argument [all …]
|
/Linux-v4.19/arch/x86/kernel/ |
D | setup_percpu.c | 71 unsigned int cpu; in pcpu_need_numa() local 73 for_each_possible_cpu(cpu) { in pcpu_need_numa() 74 int node = early_cpu_to_node(cpu); in pcpu_need_numa() 100 static void * __init pcpu_alloc_bootmem(unsigned int cpu, unsigned long size, in pcpu_alloc_bootmem() argument 105 int node = early_cpu_to_node(cpu); in pcpu_alloc_bootmem() 111 cpu, node); in pcpu_alloc_bootmem() 113 cpu, size, __pa(ptr)); in pcpu_alloc_bootmem() 118 cpu, size, node, __pa(ptr)); in pcpu_alloc_bootmem() 129 static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) in pcpu_fc_alloc() argument 131 return pcpu_alloc_bootmem(cpu, size, align); in pcpu_fc_alloc() [all …]
|