cvs commit: src/sys/dev/netif/nfe if_nfe.c if_nfevar.h
Michael Neumann
mneumann at ntecs.de
Wed Jul 9 03:27:44 PDT 2008
Sepherosa Ziehau wrote:
sephe 2008/07/05 00:29:44 PDT
DragonFly src repository
Modified files:
sys/dev/netif/nfe if_nfe.c if_nfevar.h
Log:
Use hardware timer to simulate interrupt moderation.
hw.nfeX.imtimer -> 0 no interrupt moderation at all.
With this setting I get:
intr 10 at 40001/40000 hz, livelocked limit engaged!
intr 10 at 3258/20000 hz, livelock removed
and transfer speed of around 30 MB/sec.
hw.nfeX.imtimer -> -Y hardware timer simulated interrupt moderation,
the simultated interrupt moderation timer will
be set to Y.
A value of -125 here increases transfer speed to >90 MB/sec and shows no
livelocks.
Note that this is measured transfering a big file from hammer which is
saved to /dev/null on the client side as otherwise my laptops hard disk
would be the limiting factor.
A value of 92-97 MB/sec is pretty good I think (for ftp). I'm looking
for a better way to test the throughput of the box (I don't want to be
the servers hard-disk the limiting factor). Any recommendations? I tried
netcat but that doesn't seem to work. Note that my client is FreeBSD
(and network interface bge).
Could I expect an even higher throughput when setting hw.nfeX.imtimer to
-250 (together with changing the rx_ring_count)?
Thanks for this great work!
Regards,
Michael
hw.nfeX.imtimer -> Y hardware timer only interrupt moderation,
hardware timer will be set to Y.
Set hw.nfeX.imtimer to -125 (8000Hz) should work on most system.
With heavier interrupt moderation (e.g. hw.nfeX.imtimer to -250), it is
recommended to increase hw.nfe.rx_ring_count tunable to a higher value
(e.g. 512), since the default value (128) is obviously too small.
Revision Changes Path
1.31 +104 -43 src/sys/dev/netif/nfe/if_nfe.c
1.9 +6 -3 src/sys/dev/netif/nfe/if_nfevar.h
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/nfe/if_nfe.c.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/nfe/if_nfevar.h.diff?r1=1.8&r2=1.9&f=u
More information about the Commits
mailing list