Message ID | 20211117032924.1740327-1-eric.dumazet@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | net: make dev_watchdog() less intrusive | expand |
Hello: This series was applied to netdev/net-next.git (master) by David S. Miller <davem@davemloft.net>: On Tue, 16 Nov 2021 19:29:20 -0800 you wrote: > From: Eric Dumazet <edumazet@google.com> > > dev_watchdog() is used on many NIC to periodically monitor TX queues > to detect hangs. > > Problem is : It stops all queues, then check them, then 'unfreeze' them. > > [...] Here is the summary with links: - [net-next,1/4] net: use an atomic_long_t for queue->trans_timeout https://git.kernel.org/netdev/net-next/c/8160fb43d55d - [net-next,2/4] net: annotate accesses to queue->trans_start https://git.kernel.org/netdev/net-next/c/5337824f4dc4 - [net-next,3/4] net: do not inline netif_tx_lock()/netif_tx_unlock() https://git.kernel.org/netdev/net-next/c/dab8fe320726 - [net-next,4/4] net: no longer stop all TX queues in dev_watchdog() https://git.kernel.org/netdev/net-next/c/bec251bc8b6a You are awesome, thank you!
From: Eric Dumazet <edumazet@google.com> dev_watchdog() is used on many NIC to periodically monitor TX queues to detect hangs. Problem is : It stops all queues, then check them, then 'unfreeze' them. Not only this stops feeding the NIC, it also migrates all qdiscs to be serviced on the cpu calling netif_tx_unlock(), causing a potential latency artifact. With many TX queues, this is becoming more visible. Eric Dumazet (4): net: use an atomic_long_t for queue->trans_timeout net: annotate accesses to queue->trans_start net: do not inline netif_tx_lock()/netif_tx_unlock() net: no longer stop all TX queues in dev_watchdog() .../net/ethernet/apm/xgene/xgene_enet_main.c | 2 +- drivers/net/ethernet/atheros/ag71xx.c | 2 +- .../net/ethernet/freescale/dpaa/dpaa_eth.c | 4 +- .../net/ethernet/hisilicon/hns3/hns3_enet.c | 2 +- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- drivers/net/ethernet/intel/igb/igb_main.c | 4 +- .../mellanox/mlx5/core/en/reporter_tx.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 6 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- drivers/net/virtio_net.c | 2 +- drivers/net/wireless/marvell/mwifiex/init.c | 2 +- drivers/staging/rtl8192e/rtllib_softmac.c | 2 +- include/linux/netdevice.h | 57 +++++---------- net/core/net-sysfs.c | 6 +- net/sched/sch_generic.c | 69 ++++++++++++++++--- 15 files changed, 94 insertions(+), 70 deletions(-)