[Intel-gfx] [PATCH v3] softirq: Prevent looping on disabled tasklets

Thomas Gleixner tglx at linutronix.de
Fri Feb 17 11:55:56 UTC 2017


On Sun, 12 Feb 2017, Chris Wilson wrote:

> On Sun, Feb 12, 2017 at 03:46:09PM +0000, Chris Wilson wrote:
> > +void tasklet_enable(struct tasklet_struct *t)
> > +{
> > +	if (!atomic_dec_and_test(&t->count))
> > +		return;
> > +
> > +	if (test_bit(TASKLET_STATE_SCHED, &t->state))
> > +		raise_softirq(HI_SOFTIRQ | TASKLET_SOFTIRQ);
> 
> And of course this can't work as raise_softirq() is local to the cpu.

Indeed. tasklets are a horror by design. We rather should make them go away.

Thanks,

	tglx


More information about the Intel-gfx mailing list