Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
Sounds like the sort of question you'd want to direct towards the kernel mailing list. On Jul 3, 2004, at 9:02 AM, <karina.popkova at verizon.net> wrote: > Hello > > I am writing a paper for school and need help. > > I am aware that there have been changes to the > Interrupt Handling functionality, particularly > in the kernel version 2.4 and up through 2.6.x. > In the old days (when was that) an Interrupt was > serviced in two steps. That is, the Interrupt Handler > was broken into two parts, a Top Half and a Bottom Half (BH). > > The Top Half would run to acknowledge the interrupt, > identify the hardware device raising the Interrupt, > check for data or status on the I/O device and return as > quickly as possible to avoid missing any new interrupts. > > Then, the Bottom Half (of the service routine) was scheduled > at some later time to complete the service of the Interrupt > or to do the actual work required to service the hardware device. > > Then, the color or shape of the Bottom Half began to evolve > whereby Tasklets, Softirqs and Work Queues took on the idea > of the earlier Bottom Half. Now, the mention of a Bottom Half > was really in a generic reference to the notion of "deferred work" > or a BH that still accomplished the real work of the Interrupt Handler. > > Specifically, the old idea of a Bottom Half became generic > in a sense, but was actually performed by one of three constructs. > These new software constructs, Softirqs, Tasklets and Work Queues > were really created to improve Scalability and allow more efficient > use of SMP (symmetric multiprocessor) platforms as well. > > Some articles mention a neat example of networking where the > Top Half notes that a packet has arrived off of the connection. > But the real processing of the packet is done by a softirq (or BH). > This is understandable, > > So, my question is really this. > > When would a softirq be used? What is the criteria to select a > softirq in lieu of a tasklet or a work queue, to perform > deferred work, or that work of a BH? > > I can?t seem to find any notes on why a Tasklet would be a > better selection for use as a BH, rather than using a Work Queue > or a softirq? > > I did read that one of these constructs, if running on > one select CPU, would then NOT be runnable on another CPU. > I did read about one of the constructs as being serializable > versus ?non-serializable?. > > Can someone elaborate on selection of these constructs or > any of this idea of processing bottom halves of > Linux Interrupts or ISRs? > > -karina > > Karina Popkova > > _______________________________________________ > Discuss mailing list > Discuss at blu.org > http://www.blu.org/mailman/listinfo/discuss
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |