Re: [PATCH] Tasklets: Avoid duplicating __tasklet_{,hi_}schedule() code

Ahmed S. Darwish
2008-02-19T16:30:12Z

On Tue, Feb 19, 2008 at 04:52:52PM +0100, Ingo Molnar wrote:
>
> * Ahmed S. Darwish <darwish.07@gmail.com> wrote:
>
> > - local_irq_disable();
> > - t->next = __get_cpu_var(tasklet_vec).list;
> > - __get_cpu_var(tasklet_vec).list = t;
> > - __raise_softirq_irqoff(TASKLET_SOFTIRQ);
> > - local_irq_enable();
> > + /* We were not lucky enough to run, reschedule. */
> > + __tasklet_schedule(t);
>
> i think there's a subtle difference that you missed: this one does
> __raise_softirq_irqoff(), while __tasklet_schedule() does a
> raise_softirq_irqoff(). (note the lack of undescores)
>
> the reason is to avoid infinitely self-activating tasklets.
>

Indeed, thanks a lot for the explanation. (maybe it's time to check
for new eyeglasses ;)).

Regards