Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 May 2019 05:03:58 +0000 (22:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 May 2019 05:03:58 +0000 (22:03 -0700)
Pull networking updates from David Miller:
 "Highlights:

   1) Support AES128-CCM ciphers in kTLS, from Vakul Garg.

   2) Add fib_sync_mem to control the amount of dirty memory we allow to
      queue up between synchronize RCU calls, from David Ahern.

   3) Make flow classifier more lockless, from Vlad Buslov.

   4) Add PHY downshift support to aquantia driver, from Heiner
      Kallweit.

   5) Add SKB cache for TCP rx and tx, from Eric Dumazet. This reduces
      contention on SLAB spinlocks in heavy RPC workloads.

   6) Partial GSO offload support in XFRM, from Boris Pismenny.

   7) Add fast link down support to ethtool, from Heiner Kallweit.

   8) Use siphash for IP ID generator, from Eric Dumazet.

   9) Pull nexthops even further out from ipv4/ipv6 routes and FIB
      entries, from David Ahern.

  10) Move skb->xmit_more into a per-cpu variable, from Florian
      Westphal.

  11) Improve eBPF verifier speed and increase maximum program size,
      from Alexei Starovoitov.

  12) Eliminate per-bucket spinlocks in rhashtable, and instead use bit
      spinlocks. From Neil Brown.

  13) Allow tunneling with GUE encap in ipvs, from Jacky Hu.

  14) Improve link partner cap detection in generic PHY code, from
      Heiner Kallweit.

  15) Add layer 2 encap support to bpf_skb_adjust_room(), from Alan
      Maguire.

  16) Remove SKB list implementation assumptions in SCTP, your's truly.

  17) Various cleanups, optimizations, and simplifications in r8169
      driver. From Heiner Kallweit.

  18) Add memory accounting on TX and RX path of SCTP, from Xin Long.

  19) Switch PHY drivers over to use dynamic featue detection, from
      Heiner Kallweit.

  20) Support flow steering without masking in dpaa2-eth, from Ioana
      Ciocoi.

  21) Implement ndo_get_devlink_port in netdevsim driver, from Jiri
      Pirko.

  22) Increase the strict parsing of current and future netlink
      attributes, also export such policies to userspace. From Johannes
      Berg.

  23) Allow DSA tag drivers to be modular, from Andrew Lunn.

  24) Remove legacy DSA probing support, also from Andrew Lunn.

  25) Allow ll_temac driver to be used on non-x86 platforms, from Esben
      Haabendal.

  26) Add a generic tracepoint for TX queue timeouts to ease debugging,
      from Cong Wang.

  27) More indirect call optimizations, from Paolo Abeni"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1763 commits)
  cxgb4: Fix error path in cxgb4_init_module
  net: phy: improve pause mode reporting in phy_print_status
  dt-bindings: net: Fix a typo in the phy-mode list for ethernet bindings
  net: macb: Change interrupt and napi enable order in open
  net: ll_temac: Improve error message on error IRQ
  net/sched: remove block pointer from common offload structure
  net: ethernet: support of_get_mac_address new ERR_PTR error
  net: usb: smsc: fix warning reported by kbuild test robot
  staging: octeon-ethernet: Fix of_get_mac_address ERR_PTR check
  net: dsa: support of_get_mac_address new ERR_PTR error
  net: dsa: sja1105: Fix status initialization in sja1105_get_ethtool_stats
  vrf: sit mtu should not be updated when vrf netdev is the link
  net: dsa: Fix error cleanup path in dsa_init_module
  l2tp: Fix possible NULL pointer dereference
  taprio: add null check on sched_nest to avoid potential null pointer dereference
  net: mvpp2: cls: fix less than zero check on a u32 variable
  net_sched: sch_fq: handle non connected flows
  net_sched: sch_fq: do not assume EDT packets are ordered
  net: hns3: use devm_kcalloc when allocating desc_cb
  net: hns3: some cleanup for struct hns3_enet_ring
  ...

43 files changed:
1  2 
.mailmap
MAINTAINERS
Makefile
drivers/infiniband/hw/mlx5/qp.c
drivers/net/ethernet/aeroflex/greth.c
drivers/net/ethernet/amazon/ena/ena_com.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/intel/e1000/e1000_main.c
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/fm10k/fm10k_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/iavf/iavf_txrx.c
drivers/net/ethernet/intel/ice/ice_txrx.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/igc/igc_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/mellanox/mlx5/core/cmd.c
drivers/net/ethernet/qlogic/qede/qede_ethtool.c
drivers/net/ethernet/qlogic/qede/qede_fp.c
drivers/net/ethernet/renesas/ravb_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/wiznet/w5100.c
drivers/net/wireless/intel/iwlwifi/pcie/trans.c
drivers/net/wireless/mac80211_hwsim.c
drivers/staging/rtl8723bs/os_dep/os_intfs.c
include/linux/filter.h
include/net/xfrm.h
kernel/bpf/core.c
kernel/time/time.c
kernel/trace/bpf_trace.c
lib/Kconfig
lib/Kconfig.debug
lib/Makefile
net/batman-adv/icmp_socket.c
net/batman-adv/log.c
net/core/net-sysfs.c
net/core/netpoll.c
net/xfrm/xfrm_state.c

diff --cc .mailmap
Simple merge
diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
Simple merge
Simple merge
Simple merge
index 2a4341708c0fb04304e79338556df9fdd4a72bc9,e2c022eff2560b30d0090010c468308906d3731d..8314c00d75376f15959413535d7369f9e551adc0
@@@ -556,8 -560,10 +560,8 @@@ normal_tx
  
  tx_done:
  
 -      mmiowb();
 -
        if (unlikely(bnxt_tx_avail(bp, txr) <= MAX_SKB_FRAGS + 1)) {
-               if (skb->xmit_more && !tx_buf->is_push)
+               if (netdev_xmit_more() && !tx_buf->is_push)
                        bnxt_db_write(bp, &txr->tx_db, prod);
  
                netif_tx_stop_queue(txq);
index 2aebd4bbb67dc420096a775d8c6c46ffa44e46c9,664fedf0cd802bf287436e2ffd6eb187d427cad3..6d1f9c822548ef4191c798079be4cb467df20584
@@@ -8151,9 -8156,10 +8151,9 @@@ static netdev_tx_t tg3_start_xmit(struc
                        netif_tx_wake_queue(txq);
        }
  
-       if (!skb->xmit_more || netif_xmit_stopped(txq)) {
+       if (!netdev_xmit_more() || netif_xmit_stopped(txq)) {
                /* Packets are ready, update Tx producer idx on card. */
                tw32_tx_mbox(tnapi->prodmbox, entry);
 -              mmiowb();
        }
  
        return NETDEV_TX_OK;
index 466bf1ea186d299d1be7413f2554e7ea7df7b228,6f72ab139fd9283ecf29cd609539804cca9c6095..551de8c2fef2275b6f39a4820d5a109fb2849d04
@@@ -3267,9 -3267,14 +3267,9 @@@ static netdev_tx_t e1000_xmit_frame(str
                /* Make sure there is space in the ring for the next send. */
                e1000_maybe_stop_tx(netdev, tx_ring, desc_needed);
  
-               if (!skb->xmit_more ||
+               if (!netdev_xmit_more() ||
                    netif_xmit_stopped(netdev_get_tx_queue(netdev, 0))) {
                        writel(tx_ring->next_to_use, hw->hw_addr + tx_ring->tdt);
 -                      /* we need this if more than one processor can write to
 -                       * our tail at a time, it synchronizes IO on IA64/Altix
 -                       * systems
 -                       */
 -                      mmiowb();
                }
        } else {
                dev_kfree_skb_any(skb);
index cbf76a96e94e32f5944f1631e3b757589d37433d,b4d970e44163fe0a96f89aedf2d594a23d76f9d0..90270b4a16829f12e9651a3d5542f74016643af1
@@@ -1037,8 -1037,13 +1037,8 @@@ static void fm10k_tx_map(struct fm10k_r
        fm10k_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
        /* notify HW of packet */
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return;
index ffb611bbedfa42a5fc330a4e70e153eed125c49a,e1931701cd7e926c5beccd76902199570be501ff..20a283702c9f7613fb010472807928b323ec9d2a
@@@ -3469,8 -3470,13 +3470,8 @@@ static inline int i40e_tx_map(struct i4
        first->next_to_watch = tx_desc;
  
        /* notify HW of packet */
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return 0;
index 6bfef82e7607b4a49e30b6da997aa656b88ec9e9,cf8be63a8a4f588f8866baee213af8446a087b0d..06d1509d57f7040866c07b6a177b7bbcd65cd506
@@@ -2358,8 -2358,13 +2358,8 @@@ static inline void iavf_tx_map(struct i
        first->next_to_watch = tx_desc;
  
        /* notify HW of packet */
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return;
index 1af21bbe180eef0f6067d565b6c3100e5c8f552e,30f9060c8b3fbc1b401c139a647c21897616f3a7..2364eaf33d236ff5f78b7a47a76cdb8af0445e2d
@@@ -1354,8 -1638,13 +1638,8 @@@ ice_tx_map(struct ice_ring *tx_ring, st
        ice_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
        /* notify HW of packet */
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return;
index 1d71ec360b1c8203e9b4f815ee561d3e4c141475,9b8a4bb253278beaa049236f0b2aa99971ef1945..39f33afc479c1abffc9d4f1546c077d364bd26c4
@@@ -6026,8 -6029,13 +6029,8 @@@ static int igb_tx_map(struct igb_ring *
        /* Make sure there is space in the ring for the next send. */
        igb_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
        return 0;
  
index f8d692f6aa4fe06deb80e2680e9f1f616b07571b,e58a6e0dc4d9d6dc523ed0f0ad6ededcc00959a1..34fa0e60a780af517c20b98dbc2b522de75b0192
@@@ -890,8 -939,13 +939,8 @@@ static int igc_tx_map(struct igc_ring *
        /* Make sure there is space in the ring for the next send. */
        igc_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return 0;
index 99e23cf6a73abc9d05c5c5b07d4ca779f13254a0,7b903206b534b0298c82dec84812f88f477f4d7e..57fd9ee6de665255f22c7ff146ba398b7f4fd971
@@@ -8297,8 -8297,13 +8297,8 @@@ static int ixgbe_tx_map(struct ixgbe_ri
  
        ixgbe_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
-       if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) {
+       if (netif_xmit_stopped(txring_txq(tx_ring)) || !netdev_xmit_more()) {
                writel(i, tx_ring->tail);
 -
 -              /* we need this if more than one processor can write to our tail
 -               * at a time, it synchronizes IO on IA64/Altix systems
 -               */
 -              mmiowb();
        }
  
        return 0;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc lib/Kconfig
Simple merge
Simple merge
diff --cc lib/Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge