net: remove 'fallback' argument from dev->ndo_select_queue()
After the previous patch, all the callers of ndo_select_queue() provide as a 'fallback' argument netdev_pick_tx. The only exceptions are nested calls to ndo_select_queue(), which pass down the 'fallback' available in the current scope - still netdev_pick_tx. We can drop such argument and replace fallback() invocation with netdev_pick_tx(). This avoids an indirect call per xmit packet in some scenarios (TCP syn, UDP unconnected, XDP generic, pktgen) with device drivers implementing such ndo. It also clean the code a bit. Tested with ixgbe and CONFIG_FCOE=m With pktgen using queue xmit: threads vanilla patched (kpps) (kpps) 1 2334 2428 2 4166 4278 4 7895 8100 v1 -> v2: - rebased after helper's name change Signed-off-by:Paolo Abeni <pabeni@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/infiniband/hw/hfi1/vnic_main.c 1 addition, 2 deletionsdrivers/infiniband/hw/hfi1/vnic_main.c
- drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c 2 additions, 4 deletionsdrivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c
- drivers/net/bonding/bond_main.c 1 addition, 2 deletionsdrivers/net/bonding/bond_main.c
- drivers/net/ethernet/amazon/ena/ena_netdev.c 2 additions, 3 deletionsdrivers/net/ethernet/amazon/ena/ena_netdev.c
- drivers/net/ethernet/broadcom/bcmsysport.c 3 additions, 4 deletionsdrivers/net/ethernet/broadcom/bcmsysport.c
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c 2 additions, 3 deletionsdrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h 1 addition, 2 deletionsdrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c 2 additions, 3 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
- drivers/net/ethernet/hisilicon/hns/hns_enet.c 2 additions, 3 deletionsdrivers/net/ethernet/hisilicon/hns/hns_enet.c
- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2 additions, 3 deletionsdrivers/net/ethernet/intel/ixgbe/ixgbe_main.c
- drivers/net/ethernet/mellanox/mlx4/en_tx.c 3 additions, 4 deletionsdrivers/net/ethernet/mellanox/mlx4/en_tx.c
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h 1 addition, 2 deletionsdrivers/net/ethernet/mellanox/mlx4/mlx4_en.h
- drivers/net/ethernet/mellanox/mlx5/core/en.h 1 addition, 2 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en.h
- drivers/net/ethernet/mellanox/mlx5/core/en_tx.c 2 additions, 3 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_tx.c
- drivers/net/ethernet/qlogic/qede/qede.h 1 addition, 2 deletionsdrivers/net/ethernet/qlogic/qede/qede.h
- drivers/net/ethernet/qlogic/qede/qede_fp.c 2 additions, 3 deletionsdrivers/net/ethernet/qlogic/qede/qede_fp.c
- drivers/net/ethernet/renesas/ravb_main.c 1 addition, 2 deletionsdrivers/net/ethernet/renesas/ravb_main.c
- drivers/net/ethernet/sun/ldmvsw.c 1 addition, 2 deletionsdrivers/net/ethernet/sun/ldmvsw.c
- drivers/net/ethernet/sun/sunvnet.c 1 addition, 2 deletionsdrivers/net/ethernet/sun/sunvnet.c
- drivers/net/hyperv/netvsc_drv.c 4 additions, 6 deletionsdrivers/net/hyperv/netvsc_drv.c
Loading
Please register or sign in to comment