Lines Matching refs:cpu
53 static inline void wakeup_softirqd(unsigned cpu) in wakeup_softirqd() argument
55 struct task_struct * tsk = ksoftirqd_task(cpu); in wakeup_softirqd()
63 int cpu = smp_processor_id(); in do_softirq() local
73 pending = softirq_pending(cpu); in do_softirq()
82 softirq_pending(cpu) = 0; in do_softirq()
97 pending = softirq_pending(cpu); in do_softirq()
105 wakeup_softirqd(cpu); in do_softirq()
114 inline fastcall void cpu_raise_softirq(unsigned int cpu, unsigned int nr) in cpu_raise_softirq() argument
116 __cpu_raise_softirq(cpu, nr); in cpu_raise_softirq()
127 if (!(local_irq_count(cpu) | local_bh_count(cpu))) in cpu_raise_softirq()
128 wakeup_softirqd(cpu); in cpu_raise_softirq()
154 int cpu = smp_processor_id(); in __tasklet_schedule() local
158 t->next = tasklet_vec[cpu].list; in __tasklet_schedule()
159 tasklet_vec[cpu].list = t; in __tasklet_schedule()
160 cpu_raise_softirq(cpu, TASKLET_SOFTIRQ); in __tasklet_schedule()
166 int cpu = smp_processor_id(); in __tasklet_hi_schedule() local
170 t->next = tasklet_hi_vec[cpu].list; in __tasklet_hi_schedule()
171 tasklet_hi_vec[cpu].list = t; in __tasklet_hi_schedule()
172 cpu_raise_softirq(cpu, HI_SOFTIRQ); in __tasklet_hi_schedule()
178 int cpu = smp_processor_id(); in tasklet_action() local
182 list = tasklet_vec[cpu].list; in tasklet_action()
183 tasklet_vec[cpu].list = NULL; in tasklet_action()
203 t->next = tasklet_vec[cpu].list; in tasklet_action()
204 tasklet_vec[cpu].list = t; in tasklet_action()
205 __cpu_raise_softirq(cpu, TASKLET_SOFTIRQ); in tasklet_action()
212 int cpu = smp_processor_id(); in tasklet_hi_action() local
216 list = tasklet_hi_vec[cpu].list; in tasklet_hi_action()
217 tasklet_hi_vec[cpu].list = NULL; in tasklet_hi_action()
237 t->next = tasklet_hi_vec[cpu].list; in tasklet_hi_action()
238 tasklet_hi_vec[cpu].list = t; in tasklet_hi_action()
239 __cpu_raise_softirq(cpu, HI_SOFTIRQ); in tasklet_hi_action()
290 int cpu = smp_processor_id(); in bh_action() local
295 if (!hardirq_trylock(cpu)) in bh_action()
301 hardirq_endlock(cpu); in bh_action()
364 int cpu = cpu_logical_map(bind_cpu); in ksoftirqd() local
371 current->cpus_allowed = 1UL << cpu; in ksoftirqd()
372 while (smp_processor_id() != cpu) in ksoftirqd()
380 ksoftirqd_task(cpu) = current; in ksoftirqd()
383 if (!softirq_pending(cpu)) in ksoftirqd()
388 while (softirq_pending(cpu)) { in ksoftirqd()
400 int cpu; in spawn_ksoftirqd() local
402 for (cpu = 0; cpu < smp_num_cpus; cpu++) { in spawn_ksoftirqd()
403 if (kernel_thread(ksoftirqd, (void *) (long) cpu, in spawn_ksoftirqd()
405 printk("spawn_ksoftirqd() failed for cpu %d\n", cpu); in spawn_ksoftirqd()
407 while (!ksoftirqd_task(cpu_logical_map(cpu))) in spawn_ksoftirqd()