On 4/10/07, Tom Chen <[EMAIL PROTECTED]> wrote:

I am thinking to use a hi level interrupt to claim each interrupt and trigger a 
soft interrupt to process received packets, but most network drivers(like rge) 
in OpenSolaris open source directly handle received packets in same handler. 
So, for a giga bit high speed network driver, is it necessary to process 
received packets and other tx completion notifications in soft interrupt? If 
benefit is very little, then I will not use.


Is your device a PCI network device? If so, unless you start playing
with properties, you are unlikely to get a high level interrupt
assigned to it.
In general you don't want to be using a high level handler unless your
device is *extremely* latency sensitive e.g. has practically no
buffering capability.
Interrupt handling in Solaris is quite disimilar from Linux. Most high
speed network drivers just use a single level of interrupt handling
which is essentially 'soft' as it's run below lock level (i.e. below
scheduling priority). The high level handling (i.e. the code that's
actually hooked into the device interrupt vector) is done by the
system. Your device driver is invoked, as I said before, at a lower
priority at which you can do pretty much anything a normal kernel
thread can do e.g. block on locks, allocate memory, etc.

 Paul

--
Paul Durrant
http://www.linkedin.com/in/pdurrant
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to