Lines Matching refs:cfd
45 struct call_function_data *cfd = &per_cpu(cfd_data, cpu); in smpcfd_prepare_cpu() local
47 if (!zalloc_cpumask_var_node(&cfd->cpumask, GFP_KERNEL, in smpcfd_prepare_cpu()
50 if (!zalloc_cpumask_var_node(&cfd->cpumask_ipi, GFP_KERNEL, in smpcfd_prepare_cpu()
52 free_cpumask_var(cfd->cpumask); in smpcfd_prepare_cpu()
55 cfd->csd = alloc_percpu(call_single_data_t); in smpcfd_prepare_cpu()
56 if (!cfd->csd) { in smpcfd_prepare_cpu()
57 free_cpumask_var(cfd->cpumask); in smpcfd_prepare_cpu()
58 free_cpumask_var(cfd->cpumask_ipi); in smpcfd_prepare_cpu()
67 struct call_function_data *cfd = &per_cpu(cfd_data, cpu); in smpcfd_dead_cpu() local
69 free_cpumask_var(cfd->cpumask); in smpcfd_dead_cpu()
70 free_cpumask_var(cfd->cpumask_ipi); in smpcfd_dead_cpu()
71 free_percpu(cfd->csd); in smpcfd_dead_cpu()
415 struct call_function_data *cfd; in smp_call_function_many() local
455 cfd = this_cpu_ptr(&cfd_data); in smp_call_function_many()
457 cpumask_and(cfd->cpumask, mask, cpu_online_mask); in smp_call_function_many()
458 __cpumask_clear_cpu(this_cpu, cfd->cpumask); in smp_call_function_many()
461 if (unlikely(!cpumask_weight(cfd->cpumask))) in smp_call_function_many()
464 cpumask_clear(cfd->cpumask_ipi); in smp_call_function_many()
465 for_each_cpu(cpu, cfd->cpumask) { in smp_call_function_many()
466 call_single_data_t *csd = per_cpu_ptr(cfd->csd, cpu); in smp_call_function_many()
474 __cpumask_set_cpu(cpu, cfd->cpumask_ipi); in smp_call_function_many()
478 arch_send_call_function_ipi_mask(cfd->cpumask_ipi); in smp_call_function_many()
481 for_each_cpu(cpu, cfd->cpumask) { in smp_call_function_many()
484 csd = per_cpu_ptr(cfd->csd, cpu); in smp_call_function_many()