NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 9 Sep 2009 16:10:58 +0000 (09:10 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 9 Sep 2009 16:10:58 +0000 (09:10 -0700)
commit5df3a6aa72f98f69fa498e2249e71d7a14a0f16f
tree3a351087ac9ac019cb77be2a72b63a2c2368fdef
parentff8c623b9ff177d6c8cdbc78a990b5732b264c1f
NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.

* NFE does not seem to be able to flow control the phy.  TCP reception
  using window scaling and large socket bufs can blow out the receiver ring
  before the interrupt has a chance to drain it.

  This results in the receiver dropping a packet and the transmitter
  seeing bursts of duplicate TCP acks and having to go into recovery.

* Shorten the moderation timer from 500uS to 250uS, increasing its
  frequency from 2000Hz to 4000Hz.  Note that the moderation timer
  only kicks in when the discrete interrupt rate exceeds the frequency.

* The problem still occurs with the larger RX ring and shorter moderation
  timer, but not nearly as often.
sys/dev/netif/nfe/if_nfe.c
sys/dev/netif/nfe/if_nfereg.h