Messages in this thread |  | | | From | chuckw@ieee ... | | Date | Sun, 19 Aug 2001 01:35:08 -0400 | | Subject | Re: Looking for comments on Bottom-Half/Tasklet/SoftIRQ |
| |
Thanks.
So, Bottom halves don't need to be re-entrant as do tasklets. SoftIRQ's need to be re-entrant. The advantage of tasklets is that each tasklet can be farmed out to different CPU's AND they don't need to be re-entrant because only one instance is allowed at a time. I think I got it.
Could you direct me to some code in the kernel which uses tasklets so I can see the inner workings?
Thanks much, Chuck
On Sun, Aug 19, 2001 at 06:59:22PM +0200, Anders Peter Fugmann wrote: > > chuckw@ieee.org wrote: > > Greetings, > > I was reading the unreliable guide to kernel hacking and was looking for > > a little clarification on something. 2 Bottom halves cannot run at the same > > time, why? > > Per linux definition of bottom halves, there can only run one buttom > half at one system wide. But dont use those - They are old and waists > resources. Try tasklets instead. Multible tasklets can run in parrallel > (but not the same tasklet) > > > Also, could someone give me an example of a service which is a bottom half/ > > tasklet/SoftIRQ? > Simple. > > Imagine some hardware that generates interrupts. > Now we want to write a driver that keeps the hardware busy, so we > implement a top half handler (IRQ-handler), and let it retrieve som data > from the hardware. Instead of processing it right away, we shedule a > tasklet to do that job. This way we can handle more interrupts/sec from > the card, and the hardware is kept busy. > > > To summerize. > Buttom halves are the strictest (only one at a time.) > Takslets can run in parralel, but still no need to worry about reentrant > code. > SoftIrq give no guarrentee at all, and should be used with great care > (code need to be reentrant). > > Also try to readLinux device drivers by A. Rubini: > http://www.xml.com/ldd/chapter/book/index.html > > Hope it helps. > Anders Fugmann > > > > > Thanks in advance, > > Chuck > > - > > 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/ > > > > > > > - > 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/ - 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/
|  |