• Eric Dumazet's avatar
    tg3: use napi_complete_done() · 24d2e4a5
    Eric Dumazet authored
    Using napi_complete_done() instead of napi_complete() allows
    us to use /sys/class/net/ethX/gro_flush_timeout
    
    GRO layer can aggregate more packets if the flush is delayed a bit,
    without having to set too big coalescing parameters that impact
    latencies.
    
    Tested:
    
    lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout
    
    lpx:~# sar -n DEV 1 10 | grep eth1
    10:36:25 AM      eth1  81290.00  40617.00 120479.67   2777.01      0.00      0.00      0.00
    10:36:26 AM      eth1  81283.00  40608.00 120481.81   2778.13      0.00      0.00      1.00
    10:36:27 AM      eth1  81304.00  40639.00 120518.42   2778.28      0.00      0.00      0.00
    10:36:28 AM      eth1  81255.00  40605.00 120437.34   2775.95      0.00      0.00      1.00
    10:36:29 AM      eth1  81306.00  40630.00 120521.44   2777.70      0.00      0.00      0.00
    10:36:30 AM      eth1  81286.00  40564.00 120480.20   2773.31      0.00      0.00      0.00
    10:36:31 AM      eth1  81256.00  40599.00 120438.81   2776.27      0.00      0.00      0.00
    10:36:32 AM      eth1  81287.00  40594.00 120480.69   2776.69      0.00      0.00      0.00
    10:36:33 AM      eth1  81279.00  40601.00 120478.53   2775.84      0.00      0.00      0.00
    10:36:34 AM      eth1  81277.00  40610.00 120476.94   2776.25      0.00      0.00      0.00
    Average:         eth1  81282.30  40606.70 120479.39   2776.54      0.00      0.00      0.20
    
    lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout
    
    lpx:~# sar -n DEV 1 10 | grep eth1
    10:36:43 AM      eth1  81257.00   7747.00 120437.44    530.00      0.00      0.00      0.00
    10:36:44 AM      eth1  81278.00   7748.00 120480.00    529.85      0.00      0.00      0.00
    10:36:45 AM      eth1  81282.00   7752.00 120479.09    531.09      0.00      0.00      0.00
    10:36:46 AM      eth1  81282.00   7751.00 120478.80    530.90      0.00      0.00      0.00
    10:36:47 AM      eth1  81276.00   7745.00 120478.31    529.64      0.00      0.00      0.00
    10:36:48 AM      eth1  81278.00   7747.00 120478.50    529.81      0.00      0.00      0.00
    10:36:49 AM      eth1  81282.00   7749.00 120478.88    530.01      0.00      0.00      0.00
    10:36:50 AM      eth1  81284.00   7751.00 120481.52    530.20      0.00      0.00      0.00
    10:36:51 AM      eth1  81299.00   7769.00 120481.74    533.81      0.00      0.00      0.00
    10:36:52 AM      eth1  81281.00   7748.00 120478.62    529.96      0.00      0.00      0.00
    Average:         eth1  81279.90   7750.70 120475.29    530.53      0.00      0.00      0.00
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Acked-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    24d2e4a5
tg3.c 465 KB