Messages in this thread |  | | Date | Sat, 10 Nov 2001 05:37:20 -0800 (PST) | Subject | Re: [PATCH] fix loop with disabled tasklets | From | "David S. Miller" <> |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |