Don Bowman wrote:
From: Terry Lambert [mailto:[EMAIL PROTECTED]]
Don Bowman wrote:

Is there any point to using device polling with the tigon 3
(broadcom 570x etc)? It has a pretty good interrupt reducer in it
by itself.
Just tune the 2 rx and the 2 tx parameters and you get a constant
interrupt rate with good latency for any packet rate.
This is hardware interrupt coelescing.  It is a totally seperate
thing.

The point of DEVICE_POLLING is to avoid the receiver livelock
case, when you are under extreme load.

What this probably means is that you haven't put enough load
on the hardware to see the livelock case.


Actually I have pushed it to the livelock case. I'm shocked at how
easy this is to do with BSD (I'm used to system like vxworks with
much lower over head interrupt processing).
I found that for a 2x XEON @ 2GHz that I can achieve this @ ~100Mbps
of minimal size UDP fragments. Tuning the driver dramatically improved
the situation. Reducing the size of its receive ring to the proper
amount also helps since it will then run out of buffers and
drop packets. This isn't extreme load, it isn't really particularly
heavy load, its only like ~200Kpps. I suspect the defragmenting
is the issue, so I tried it again with ARP's. This helped a lot.

I'm still not clear on how the receiver polling helps me, it also
makes a constant rate consumption of packets. If I set the bds to the max, then I will only be interrupted @ constant rate by the device.
Thanks to Luigi for writing a nice manual page on Device Polling operation. It explains most of the things clearly. There is also something about tuning the HZ kernel configuration option. FYI, the manual page is polling(4).

For more information, and Frequently Asked Questions, checkout the following Luigi's homepage: http://info.iet.unipi.it/~luigi/polling/

Cheers.

--
Hiten
[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to