Lines Matching full:cpu

3 #include <linux/cpu.h>
33 void xen_smp_intr_free(unsigned int cpu) in xen_smp_intr_free() argument
35 kfree(per_cpu(xen_resched_irq, cpu).name); in xen_smp_intr_free()
36 per_cpu(xen_resched_irq, cpu).name = NULL; in xen_smp_intr_free()
37 if (per_cpu(xen_resched_irq, cpu).irq >= 0) { in xen_smp_intr_free()
38 unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu).irq, NULL); in xen_smp_intr_free()
39 per_cpu(xen_resched_irq, cpu).irq = -1; in xen_smp_intr_free()
41 kfree(per_cpu(xen_callfunc_irq, cpu).name); in xen_smp_intr_free()
42 per_cpu(xen_callfunc_irq, cpu).name = NULL; in xen_smp_intr_free()
43 if (per_cpu(xen_callfunc_irq, cpu).irq >= 0) { in xen_smp_intr_free()
44 unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu).irq, NULL); in xen_smp_intr_free()
45 per_cpu(xen_callfunc_irq, cpu).irq = -1; in xen_smp_intr_free()
47 kfree(per_cpu(xen_debug_irq, cpu).name); in xen_smp_intr_free()
48 per_cpu(xen_debug_irq, cpu).name = NULL; in xen_smp_intr_free()
49 if (per_cpu(xen_debug_irq, cpu).irq >= 0) { in xen_smp_intr_free()
50 unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu).irq, NULL); in xen_smp_intr_free()
51 per_cpu(xen_debug_irq, cpu).irq = -1; in xen_smp_intr_free()
53 kfree(per_cpu(xen_callfuncsingle_irq, cpu).name); in xen_smp_intr_free()
54 per_cpu(xen_callfuncsingle_irq, cpu).name = NULL; in xen_smp_intr_free()
55 if (per_cpu(xen_callfuncsingle_irq, cpu).irq >= 0) { in xen_smp_intr_free()
56 unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu).irq, in xen_smp_intr_free()
58 per_cpu(xen_callfuncsingle_irq, cpu).irq = -1; in xen_smp_intr_free()
62 int xen_smp_intr_init(unsigned int cpu) in xen_smp_intr_init() argument
67 resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu); in xen_smp_intr_init()
70 per_cpu(xen_resched_irq, cpu).name = resched_name; in xen_smp_intr_init()
72 cpu, in xen_smp_intr_init()
79 per_cpu(xen_resched_irq, cpu).irq = rc; in xen_smp_intr_init()
81 callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu); in xen_smp_intr_init()
84 per_cpu(xen_callfunc_irq, cpu).name = callfunc_name; in xen_smp_intr_init()
86 cpu, in xen_smp_intr_init()
93 per_cpu(xen_callfunc_irq, cpu).irq = rc; in xen_smp_intr_init()
96 debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu); in xen_smp_intr_init()
100 per_cpu(xen_debug_irq, cpu).name = debug_name; in xen_smp_intr_init()
101 rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, in xen_smp_intr_init()
107 per_cpu(xen_debug_irq, cpu).irq = rc; in xen_smp_intr_init()
110 callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); in xen_smp_intr_init()
114 per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name; in xen_smp_intr_init()
116 cpu, in xen_smp_intr_init()
123 per_cpu(xen_callfuncsingle_irq, cpu).irq = rc; in xen_smp_intr_init()
130 xen_smp_intr_free(cpu); in xen_smp_intr_init()
142 void xen_smp_send_reschedule(int cpu) in xen_smp_send_reschedule() argument
144 xen_send_IPI_one(cpu, XEN_RESCHEDULE_VECTOR); in xen_smp_send_reschedule()
150 unsigned cpu; in __xen_send_IPI_mask() local
152 for_each_cpu_and(cpu, mask, cpu_online_mask) in __xen_send_IPI_mask()
153 xen_send_IPI_one(cpu, vector); in __xen_send_IPI_mask()
158 int cpu; in xen_smp_send_call_function_ipi() local
163 for_each_cpu(cpu, mask) { in xen_smp_send_call_function_ipi()
164 if (xen_vcpu_stolen(cpu)) { in xen_smp_send_call_function_ipi()
171 void xen_smp_send_call_function_single_ipi(int cpu) in xen_smp_send_call_function_single_ipi() argument
173 __xen_send_IPI_mask(cpumask_of(cpu), in xen_smp_send_call_function_single_ipi()
237 unsigned cpu; in xen_send_IPI_mask_allbutself() local
244 for_each_cpu_and(cpu, mask, cpu_online_mask) { in xen_send_IPI_mask_allbutself()
245 if (this_cpu == cpu) in xen_send_IPI_mask_allbutself()
248 xen_send_IPI_one(cpu, xen_vector); in xen_send_IPI_mask_allbutself()