Messages in this thread | | | From | Mathijs Mohlmann <> | Subject | Re: [PATCH] fix loop with disabled tasklets | Date | Sat, 10 Nov 2001 16:29:00 +0100 |
| |
On Saturday 10 November 2001 16:03, Andrea Arcangeli wrote: > just playing with the "softirq_raise" would be much simpler but I can > see only one problem: we don't know what cpu the tasklet is scheduled > into, so we don't know where to signal the local softirq. > > So it seems to fix the looping problem of disabled tasklets we should > really dschedule the tasklet in tasklet_disable (and of course to forbid > it to be scheduled when disabled in tasklet_schedule) and later to > reschedule it in tasklet_enable.
Or add a cpu field to struct tasklet_struct.
> Infact at the moment it's even impossible to remove a tasklet from the > queue if it remains disabled forever. tasklet_kill will deadlock on a > tasklet that is disabled. I think this is the responsability of the device driver writer (or who ever uses it). AFAIK there is no defined behavior for this case. I vote for removing the tasklet without it ever being run.
me - 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/
| |