Re: [Xen-devel] [PATCH v2 2/5] tasklet: Add cross CPU feeding of per-cpu tasklets.

2016-10-28 Thread Jan Beulich
>>> On 25.08.16 at 21:23, wrote: > +static void percpu_tasklet_feed(void *arg) > +{ > +unsigned long flags; > +struct tasklet *t; > +struct list_head *dst_list; > +struct list_head *list = &__get_cpu_var(tasklet_feeder); > + > +spin_lock_irqsave(&feeder_lock, flags); > + > +

[Xen-devel] [PATCH v2 2/5] tasklet: Add cross CPU feeding of per-cpu tasklets.

2016-08-25 Thread Konrad Rzeszutek Wilk
Since the per-cpu tasklets are lockfree and run only within their own CPU context - we need a mechanism for 'tasklet_schedule_on_cpu' from other CPUs to insert tasklets in the destination per-cpu lists. We use an IPI mechanism which function implements an per-cpu 'feeding' list and a global lock.