Messages in this thread | | | Date | Fri, 15 Oct 2004 09:32:39 -0400 | From | Neil Horman <> | Subject | Re: Tasklet usage? |
| |
Pierre Ossman wrote: > My driver needs to spend a lot of time inside the interrupt handler > (draining a FIFO). I suspect this might cause problems blocking other > interrupt handlers so I was thinking about moving this into a tasklet. > Not being to familiar with tasklets, a few questions pop up. > > * Will a tasklet scheduled from the interrupt handler be executed as > soon as interrupt handling is done? I don't _think_ they are guaranteed to be executed immediately after the interrupt handler top half is complete, but they will execute before the next return to user space (read: they will complete before user processes run again).
> * Can tasklets be preempted? A tasklet can get preempted by a hard interrupt, but tasklets run in interrupt context, so don't do anything in a tasklet that can call schedule. > * If a tasklet gets scheduled while running, will it be executed once > more? (Needed if I get another FIFO interrupt while the tasklet is just > exiting). > IIRC, a tasklet will execute once for every time tasklet_schedule is called.
HTH Neil
-- /*************************************************** *Neil Horman *Software Engineer *Red Hat, Inc. *nhorman@redhat.com *gpg keyid: 1024D / 0x92A74FA1 *http://pgp.mit.edu ***************************************************/ - 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/
| |