Ed Maste wrote:
JFYI: We've used another trick. Yandex's driver allows to alter RX' threads priority. Also, it disables interrupts if driver busy (and works like a polling). This combination seems to be very stable under heavy load.On Thu, Oct 04, 2007 at 12:02:56PM -0700, Michael DeMan wrote:Also, we've noticed at least on FBSD 6.x that there seem to be very few advantages in using polling on network interfaces. We still run it, so that we have responsive SSH/BGP/OSPF processes on the machines, but my testing has shown that for sheer throughput, there is basically no difference. I'd be curious if anybody knows the scoop on this.The polling mechanism includes a feedback mechanism that attempts to keep a certain amount of CPU time available for userland. It works well at keeping the system usable under high load, but it doesn't perform so well if you want to dedicate most of the CPU time to polling in order to get near the maximum throughput.
Also, I seem it more intuitive for tuning.
I have some prototype code that addresses this, and the the throughput with the new polling algorithm beat the non-polling kernel perf. by a small margin. This won't make it into RELENG_7, but I plan to bring it to HEAD at some point. -Ed _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"
WBR, -- Vladimir Ivanov Network Operations Center OOO "Yandex" t: +7 495 739-7000 f: +7 495 739-7070 @: [EMAIL PROTECTED] (corporate) [EMAIL PROTECTED] (personal) www: www.yandex.ru --
smime.p7s
Description: S/MIME Cryptographic Signature