Re: Tasklet usage?
From: Neil Horman
Date: Fri Oct 15 2004 - 08:45:16 EST
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@xxxxxxxxxx
*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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/