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