Lines Matching refs:cpu
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()
171 pr_crit("CPU%u: failed to come online\n", cpu); in __cpu_up()
175 pr_err("CPU%u: failed to boot: %d\n", cpu, ret); in __cpu_up()
206 static int platform_cpu_kill(unsigned int cpu) in platform_cpu_kill() argument
209 return smp_ops.cpu_kill(cpu); in platform_cpu_kill()
213 static int platform_cpu_disable(unsigned int cpu) in platform_cpu_disable() argument
216 return smp_ops.cpu_disable(cpu); in platform_cpu_disable()
221 int platform_can_hotplug_cpu(unsigned int cpu) in platform_can_hotplug_cpu() argument
228 return smp_ops.cpu_can_disable(cpu); in platform_can_hotplug_cpu()
235 return cpu != 0; in platform_can_hotplug_cpu()
238 static void ipi_teardown(int cpu) in ipi_teardown() argument
254 unsigned int cpu = smp_processor_id(); in __cpu_disable() local
257 ret = platform_cpu_disable(cpu); in __cpu_disable()
262 remove_cpu_topology(cpu); in __cpu_disable()
269 set_cpu_online(cpu, false); in __cpu_disable()
270 ipi_teardown(cpu); in __cpu_disable()
294 void __cpu_die(unsigned int cpu) in __cpu_die() argument
296 if (!cpu_wait_death(cpu, 5)) { in __cpu_die()
297 pr_err("CPU%u: cpu didn't die\n", cpu); in __cpu_die()
300 pr_debug("CPU%u: shutdown\n", cpu); in __cpu_die()
302 clear_tasks_mm_cpumask(cpu); in __cpu_die()
310 if (!platform_cpu_kill(cpu)) in __cpu_die()
311 pr_err("CPU%u: unable to kill\n", cpu); in __cpu_die()
324 unsigned int cpu = smp_processor_id(); in arch_cpu_idle_dead() local
366 smp_ops.cpu_die(cpu); in arch_cpu_idle_dead()
369 cpu); in arch_cpu_idle_dead()
406 unsigned int cpu; in secondary_start_kernel() local
423 cpu = smp_processor_id(); in secondary_start_kernel()
426 cpumask_set_cpu(cpu, mm_cpumask(mm)); in secondary_start_kernel()
433 pr_debug("CPU%u: Booted secondary processor\n", cpu); in secondary_start_kernel()
441 smp_ops.smp_secondary_init(cpu); in secondary_start_kernel()
443 notify_cpu_starting(cpu); in secondary_start_kernel()
445 ipi_setup(cpu); in secondary_start_kernel()
449 smp_store_cpu_info(cpu); in secondary_start_kernel()
456 set_cpu_online(cpu, true); in secondary_start_kernel()
474 int cpu; in smp_cpus_done() local
477 for_each_online_cpu(cpu) in smp_cpus_done()
478 bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy; in smp_cpus_done()
539 unsigned int cpu, i; in show_ipi_list() local
547 for_each_online_cpu(cpu) in show_ipi_list()
548 seq_printf(p, "%10u ", irq_desc_kstat_cpu(ipi_desc[i], cpu)); in show_ipi_list()
564 void arch_send_call_function_single_ipi(int cpu) in arch_send_call_function_single_ipi() argument
566 smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC); in arch_send_call_function_single_ipi()
589 static void ipi_cpu_stop(unsigned int cpu) in ipi_cpu_stop() argument
593 pr_crit("CPU%u: stopping\n", cpu); in ipi_cpu_stop()
598 set_cpu_online(cpu, false); in ipi_cpu_stop()
611 int register_ipi_completion(struct completion *completion, int cpu) in register_ipi_completion() argument
613 per_cpu(cpu_completion, cpu) = completion; in register_ipi_completion()
617 static void ipi_complete(unsigned int cpu) in ipi_complete() argument
619 complete(per_cpu(cpu_completion, cpu)); in ipi_complete()
632 unsigned int cpu = smp_processor_id(); in do_handle_IPI() local
656 ipi_cpu_stop(cpu); in do_handle_IPI()
666 ipi_complete(cpu); in do_handle_IPI()
677 cpu, ipinr); in do_handle_IPI()
709 static void ipi_setup(int cpu) in ipi_setup() argument
744 void smp_send_reschedule(int cpu) in smp_send_reschedule() argument
746 smp_cross_call(cpumask_of(cpu), IPI_RESCHEDULE); in smp_send_reschedule()
803 int cpu, first = cpumask_first(cpus); in cpufreq_callback() local
810 for_each_cpu(cpu, cpus) { in cpufreq_callback()
811 per_cpu(l_p_j_ref, cpu) = in cpufreq_callback()
812 per_cpu(cpu_data, cpu).loops_per_jiffy; in cpufreq_callback()
813 per_cpu(l_p_j_ref_freq, cpu) = freq->old; in cpufreq_callback()
830 for_each_cpu(cpu, cpus) in cpufreq_callback()
831 per_cpu(cpu_data, cpu).loops_per_jiffy = lpj; in cpufreq_callback()