![]() | |||||||||||||
Messages in this thread |
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/ | ||||||||||||
| Last update: 2005-03-22 12:13 [from the cache] ©2003-2008 | |||||||||||||