[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1447857063-618-1-git-send-email-edumazet@google.com>
Date: Wed, 18 Nov 2015 06:30:49 -0800
From: Eric Dumazet <edumazet@...gle.com>
To: "David S . Miller" <davem@...emloft.net>
Cc: netdev <netdev@...r.kernel.org>,
Eliezer Tamir <eliezer.tamir@...ux.intel.com>,
Eli Cohen <eli@...lanox.com>,
Eugenia Emantayev <eugenia@...lanox.com>,
Ariel Elior <ariel.elior@...gic.com>,
Willem de Bruijn <willemb@...gle.com>,
Rida Assaf <rida@...gle.com>,
Eric Dumazet <edumazet@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: [PATCH v2 net-next 00/14] net: extend busy polling support
This patch series extends busy polling range to tunnels devices,
and adds busy polling generic support to all NAPI drivers.
No need to provide ndo_busy_poll() method and extra synchronization
between ndo_busy_poll() and normal napi->poll() method.
This was proven very difficult and bug prone.
mlx5 driver is changed to support busy polling using this new method,
and a second mlx5 patch adds napi_complete_done() support and proper
SNMP accounting.
bnx2x and mlx4 drivers are converted to new infrastructure,
reducing kernel bloat and improving performance.
Latest patch, adding generic support, adds a new requirement :
-free_netdev() and netif_napi_del() must be called from process context.
Since this might not be the case in some drivers, we might have to
either : fix the non conformant drivers (by disabling busy polling on them)
or revert this last patch.
Eric Dumazet (14):
net: better skb->sender_cpu and skb->napi_id cohabitation
mlx4: mlx4_en_low_latency_recv() called with BH disabled
net: un-inline sk_busy_loop()
net: allow BH servicing in sk_busy_loop()
net: network drivers no longer need to implement ndo_busy_poll()
mlx5: add busy polling support
mlx5: support napi_complete_done()
bnx2x: remove bnx2x_low_latency_recv() support
mlx4: remove mlx4_en_low_latency_recv()
net: move skb_mark_napi_id() into core networking stack
net: add netif_tx_napi_add()
net: move napi_hash[] into read mostly section
net: napi_hash_del() returns a boolean status
net: provide generic busy polling to all NAPI drivers
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 1 -
drivers/net/ethernet/broadcom/bcmsysport.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 113 ------------------
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 50 +-------
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 7 --
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 -
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 -
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +-
drivers/net/ethernet/chelsio/cxgb4/sge.c | 2 -
drivers/net/ethernet/cisco/enic/enic_main.c | 2 -
drivers/net/ethernet/emulex/benet/be_main.c | 2 -
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 2 +-
drivers/net/ethernet/freescale/gianfar.c | 4 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 1 -
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 3 -
drivers/net/ethernet/mellanox/mlx4/en_cq.c | 10 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 17 ---
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 40 -------
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 18 +--
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 126 ---------------------
drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 15 ++-
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 11 +-
drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 3 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 4 +-
drivers/net/ethernet/rocker/rocker.c | 2 +-
drivers/net/ethernet/sfc/efx.c | 1 -
drivers/net/ethernet/sfc/rx.c | 1 -
drivers/net/ethernet/ti/cpsw.c | 2 +-
drivers/net/ethernet/ti/netcp_core.c | 2 +-
drivers/net/virtio_net.c | 3 -
drivers/net/wireless/ath/wil6210/netdev.c | 2 +-
include/linux/hashtable.h | 4 +
include/linux/netdevice.h | 44 +++++--
include/linux/skbuff.h | 3 -
include/net/busy_poll.h | 45 +-------
net/core/dev.c | 116 +++++++++++++++----
41 files changed, 171 insertions(+), 507 deletions(-)
--
2.6.0.rc2.230.g3dd15c0
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists