bnx: Optimize RX STD ring refilling scheduling
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 8 May 2013 01:42:58 +0000 (09:42 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 9 May 2013 09:14:21 +0000 (17:14 +0800)
commit625c3ba34fbf0d2f37dd186a84212634b8c2e137
treef181107f766fe80493c263d6297f57905bf3b0d5
parent2a559a201f136ab0b270759611e939f451267c45
bnx: Optimize RX STD ring refilling scheduling

At the end of the RX RET ring interrupt, the RX STD ring refilling is
scheduled only when the number of consumed RX BDs are more then half of
the RX STD ring size (256).

This reduces the IPI rate on CPU that performs the RX STD ring refilling
from ~17000ipis/s to ~4000ipis/s on the system with heavy network loading.
sys/dev/netif/bnx/if_bnx.c
sys/dev/netif/bnx/if_bnxvar.h