diff options
author | Jesper Dangaard Brouer <hawk@comx.dk> | 2008-12-18 19:51:56 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-18 22:27:41 -0800 |
commit | e98def1f71fa0a6a37e12a56eb52ce5ed9e2e800 (patch) | |
tree | 575063ef3b8ab38c762fcb86cce75ac0abc84c3f /drivers/net/niu.c | |
parent | d231776fda4a1ed754298720c5fbc29eb34f130c (diff) | |
download | op-kernel-dev-e98def1f71fa0a6a37e12a56eb52ce5ed9e2e800.zip op-kernel-dev-e98def1f71fa0a6a37e12a56eb52ce5ed9e2e800.tar.gz |
NIU: Implement discard counters, optimize
Optimize the lightly loaded case, by only synchronizing discards stats
when qlen > 10 indicate potential for drops.
Notice Robert Olsson might disagree with this patch.
Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/niu.c')
-rw-r--r-- | drivers/net/niu.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 671721c..f219f16 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c @@ -3618,7 +3618,9 @@ static int niu_rx_work(struct niu *np, struct rx_ring_info *rp, int budget) nw64(RX_DMA_CTL_STAT(rp->rx_channel), stat); - niu_sync_rx_discard_stats(np, rp, 0x7FFF); + /* Only sync discards stats when qlen indicate potential for drops */ + if (qlen > 10) + niu_sync_rx_discard_stats(np, rp, 0x7FFF); return work_done; } |