cvs commit: src/sys/dev/netif/nfe if_nfe.c if_nfevar.h

Michael Neumann mneumann at
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 
  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
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!



  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

More information about the Commits mailing list