bce: Disable RX max BDs based interrupt moderation
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 11 Dec 2012 11:20:17 +0000 (19:20 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 12 Dec 2012 12:15:07 +0000 (20:15 +0800)
The RX max coalesce BDs is limited to 255, which means that the chip will
generate ~5800 interrupts/s when it sinks 1.48Mpps tiny packets.  However,
interrupt rate at 4500Hz is already enough for the chip to sink 1.48Mpps
tiny packets, so ticks based RX interrupt moderation should be prefered.

sys/dev/netif/bce/if_bce.c

index 83527b8..f3a8e02 100644 (file)
@@ -474,7 +474,7 @@ static uint32_t     bce_tx_bds = 255;               /* bcm: 20 */
 static uint32_t        bce_tx_ticks_int = 1022;        /* bcm: 80 */
 static uint32_t        bce_tx_ticks = 1022;            /* bcm: 80 */
 static uint32_t        bce_rx_bds_int = 128;           /* bcm: 6 */
-static uint32_t        bce_rx_bds = 128;               /* bcm: 6 */
+static uint32_t        bce_rx_bds = 0;                 /* bcm: 6 */
 static uint32_t        bce_rx_ticks_int = 150;         /* bcm: 18 */
 static uint32_t        bce_rx_ticks = 150;             /* bcm: 18 */