• Home
  • Raw
  • Download

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()
68 per_cpu(xen_resched_irq, cpu).name = resched_name; in xen_smp_intr_init()
70 cpu, in xen_smp_intr_init()
77 per_cpu(xen_resched_irq, cpu).irq = rc; in xen_smp_intr_init()
79 callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu); in xen_smp_intr_init()
80 per_cpu(xen_callfunc_irq, cpu).name = callfunc_name; in xen_smp_intr_init()
82 cpu, in xen_smp_intr_init()
89 per_cpu(xen_callfunc_irq, cpu).irq = rc; in xen_smp_intr_init()
92 debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu); in xen_smp_intr_init()
93 per_cpu(xen_debug_irq, cpu).name = debug_name; in xen_smp_intr_init()
94 rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, in xen_smp_intr_init()
100 per_cpu(xen_debug_irq, cpu).irq = rc; in xen_smp_intr_init()
103 callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); in xen_smp_intr_init()
104 per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name; in xen_smp_intr_init()
106 cpu, in xen_smp_intr_init()
113 per_cpu(xen_callfuncsingle_irq, cpu).irq = rc; in xen_smp_intr_init()
118 xen_smp_intr_free(cpu); in xen_smp_intr_init()
124 int cpu, rc, count = 0; in xen_smp_cpus_done() local
134 for_each_online_cpu(cpu) { in xen_smp_cpus_done()
135 if (xen_vcpu_nr(cpu) < MAX_VIRT_CPUS) in xen_smp_cpus_done()
138 rc = remove_cpu(cpu); in xen_smp_cpus_done()
142 * Reset vcpu_info so this cpu cannot be onlined again. in xen_smp_cpus_done()
144 xen_vcpu_info_reset(cpu); in xen_smp_cpus_done()
147 pr_warn("%s: failed to bring CPU %d down, error %d\n", in xen_smp_cpus_done()
148 __func__, cpu, rc); in xen_smp_cpus_done()
154 void xen_smp_send_reschedule(int cpu) in xen_smp_send_reschedule() argument
156 xen_send_IPI_one(cpu, XEN_RESCHEDULE_VECTOR); in xen_smp_send_reschedule()
162 unsigned cpu; in __xen_send_IPI_mask() local
164 for_each_cpu_and(cpu, mask, cpu_online_mask) in __xen_send_IPI_mask()
165 xen_send_IPI_one(cpu, vector); in __xen_send_IPI_mask()
170 int cpu; in xen_smp_send_call_function_ipi() local
175 for_each_cpu(cpu, mask) { in xen_smp_send_call_function_ipi()
176 if (xen_vcpu_stolen(cpu)) { in xen_smp_send_call_function_ipi()
183 void xen_smp_send_call_function_single_ipi(int cpu) in xen_smp_send_call_function_single_ipi() argument
185 __xen_send_IPI_mask(cpumask_of(cpu), in xen_smp_send_call_function_single_ipi()
249 unsigned cpu; in xen_send_IPI_mask_allbutself() local
256 for_each_cpu_and(cpu, mask, cpu_online_mask) { in xen_send_IPI_mask_allbutself()
257 if (this_cpu == cpu) in xen_send_IPI_mask_allbutself()
260 xen_send_IPI_one(cpu, xen_vector); in xen_send_IPI_mask_allbutself()