BSD internals/ether/software intrs
Larry McVoy
lm at arizona.edu
Fri Jan 29 05:32:32 AEST 1988
OK, ok, folks, enough already. Let me try again. I need some information
about the BSD kernel, I spent about an hour poking around inside, got lost
(everything is in the wrong place if you're used to SV), and I'm still a little
perplexed about something. And BTW, folks, this info is not in TFM.
Specifically, my question is: when do the networking protocols start processing
incoming data? I suspect that does not happen in the lower half of the driver.
I could guess that it's something like
event: hardware intr from ether
action: lower half of ether driver takes data,
shoves into a queue,
schedules software intr
event: software intr
action: protocol state machine starts cranking on the data
My question is (and it's a general question, applicable to intrs of any sort),
what context does the intr handler have in BSD? How'd we get into the kernel?
Is it the same path for soft/hard intrs?
And who gets to pay for the cpu time used in intr context?
And how do software intrs rate in terms of priorities? What spl???() will
block them, if any?
Thank you very much, oh wizards....
--
Larry McVoy lm at arizona.edu or ...!{uwvax,sun}!arizona.edu!lm
Use the force - read the source.
More information about the Comp.unix.wizards
mailing list