Re: [PATCH] fix loop with disabled tasklets

David S. Miller
2001-11-10T13:38:09Z

From: Mathijs Mohlmann <mathijs@knoware.nl>
Date: Sat, 10 Nov 2001 13:21:56 +0100

i'm not sure about the enable_tasklet bit. I think it will prevent
people from calling tasklet_enable from within an interrupt handler. But then
again, why do you want to do that? Thanx, velco and

Any comments?

I've been looking at this and I sent Andrea+Linus private mail on this
to try and work out a fix.

You can't simply stop enabling the softirq when you hit the "locked
tasklet" condition. That could deadlock the tasklet.

What really needs to happen is:

1) If tasklet is scheduled, but disabled, simply ignore it
during tasklet processing. Do not resignal softirq.
But do leave it on the pending lists.

2) When tasklet enable brings t->count back to zero and
tasklet is found to be scheduled, signal a local softirq.

To me, that would be the proper fix. But I still haven't heard back
from Andrea or Linus yet :-)

Franks a lot,
David S. Miller
davem@redhat.com