Messages in this thread | | | From | Keith Owens <> | Subject | Re: Today Linus redesigns the networking driver interface (was Re: tulip driver in ...) | Date | Tue, 22 Sep 1998 17:52:23 +1000 |
| |
On Tue, 22 Sep 1998 17:27:36 +1000, Richard Gooch <rgooch@atnf.csiro.au> wrote: >So a heuristic to avoid BH processing isn't really worthwhile, I now >think, nor is a return flag from interrupt handlers saying "please >don't process BH's now", since the (bh_active & bh_mask) test is good >enough. >The simple rule: "if you haven't registered/marked active a BH, then >you aren't going to trigger BH processing, so don't worry about it" >seems like the right thing.
Something that has been puzzling me about all of this selective do or don't mark_bh(). If there is data to be processed then the BH must be run eventually. When does the interrupt handler finally decide to mark_bh()? The obvious way is on a later interrupt but what happens if no more interrupts arrive? Extremely unlikely but possible.
The only other way to mark_bh() is something external to the interrupt handler, say a timer. But that just complicates the code - is it worth it? Does it really cost that much to run the BH mask?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |