I have been unable to even come close to livelocking the machine with the em driver interrupt moderation. So that to me throws polling out the window. I tried 8000hz with polling modified to allow 10000 burst and it makes no difference in the amount of pps I can jam through.. It' seems to be limited by the routing path in the kernel more than anything else.

If a driver/hardware didn't support interrupt mitigation then it would definitely lock the machine.


Sepherosa Ziehau wrote:
On 7/1/08, Paul <[EMAIL PROTECTED]> wrote:
All the NIC drivers in 7 pretty much use interrupt moderation so it can

I am not quite sure whether em(4)'s RX interrupt moderation works as
expected or not.  But, AFAIK, nfe(4) and re(4) does not have RX
interrupt moderation.  Their TX interrupt moderation could be mimiced
by using their hardware timer and disabling their TX interrupt.

The lacking of RX im is difficult to handle, I could imagine following way:
- During init, enable RX intr
- When RX intr comes, disable RX intr and set up hardware timer intr
- When timer intr comes and no RX happens, disable timer intr and enable RX intr

Properly configured #RX desc and timer intr interval will be required
to make sure that the RX desc collection could keep up with the
hardware speed.  I used pure timer intr (8000Hz) on nfe(4) in dfly w/
good result, i.e. TX/RX @linespeed without livelocking the system.
The drawback of pure timer intr is that you waste extra cpu power,
when there is nothing to process.

never lock the machine anyway.. This effectively kills polling and it really
no longer has any use except to be able to have a fraction of the cpu set

Oh?  Really? :]

Best Regards,
sephe


_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to