mirror of https://gitee.com/openkylin/linux.git
d43a396af0
When using a MPC8xx as a router, 'perf' shows a significant time spent in fs_enet_interrupt() and fs_enet_start_xmit(). 'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent between spin_unlock_irqrestore() and the following instruction, hence in interrupt handling. This is due to the TX complete interrupt that fires after each transmitted packet. This patch modifies the handling of TX complete to use NAPI. With this patch, my NAT router offers a throughput improved by 21% Original performance: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 2.8MB/s 01:31 Performance with the patch: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 3.4MB/s 01:16 Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
fs_enet | ||
Kconfig | ||
Makefile | ||
fec.h | ||
fec_main.c | ||
fec_mpc52xx.c | ||
fec_mpc52xx.h | ||
fec_mpc52xx_phy.c | ||
fec_ptp.c | ||
fsl_pq_mdio.c | ||
gianfar.c | ||
gianfar.h | ||
gianfar_ethtool.c | ||
gianfar_ptp.c | ||
ucc_geth.c | ||
ucc_geth.h | ||
ucc_geth_ethtool.c | ||
xgmac_mdio.c |