Lines Matching refs:cfd
44 struct call_function_data *cfd = &per_cpu(cfd_data, cpu); in smpcfd_prepare_cpu() local
46 if (!zalloc_cpumask_var_node(&cfd->cpumask, GFP_KERNEL, in smpcfd_prepare_cpu()
49 if (!zalloc_cpumask_var_node(&cfd->cpumask_ipi, GFP_KERNEL, in smpcfd_prepare_cpu()
51 free_cpumask_var(cfd->cpumask); in smpcfd_prepare_cpu()
54 cfd->csd = alloc_percpu(call_single_data_t); in smpcfd_prepare_cpu()
55 if (!cfd->csd) { in smpcfd_prepare_cpu()
56 free_cpumask_var(cfd->cpumask); in smpcfd_prepare_cpu()
57 free_cpumask_var(cfd->cpumask_ipi); in smpcfd_prepare_cpu()
66 struct call_function_data *cfd = &per_cpu(cfd_data, cpu); in smpcfd_dead_cpu() local
68 free_cpumask_var(cfd->cpumask); in smpcfd_dead_cpu()
69 free_cpumask_var(cfd->cpumask_ipi); in smpcfd_dead_cpu()
70 free_percpu(cfd->csd); in smpcfd_dead_cpu()
406 struct call_function_data *cfd; in smp_call_function_many() local
438 cfd = this_cpu_ptr(&cfd_data); in smp_call_function_many()
440 cpumask_and(cfd->cpumask, mask, cpu_online_mask); in smp_call_function_many()
441 __cpumask_clear_cpu(this_cpu, cfd->cpumask); in smp_call_function_many()
444 if (unlikely(!cpumask_weight(cfd->cpumask))) in smp_call_function_many()
447 cpumask_clear(cfd->cpumask_ipi); in smp_call_function_many()
448 for_each_cpu(cpu, cfd->cpumask) { in smp_call_function_many()
449 call_single_data_t *csd = per_cpu_ptr(cfd->csd, cpu); in smp_call_function_many()
457 __cpumask_set_cpu(cpu, cfd->cpumask_ipi); in smp_call_function_many()
461 arch_send_call_function_ipi_mask(cfd->cpumask_ipi); in smp_call_function_many()
464 for_each_cpu(cpu, cfd->cpumask) { in smp_call_function_many()
467 csd = per_cpu_ptr(cfd->csd, cpu); in smp_call_function_many()