Merge tag 'net-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Dec 2020 21:22:29 +0000 (13:22 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Dec 2020 21:22:29 +0000 (13:22 -0800)
Pull networking updates from Jakub Kicinski:
 "Core:

   - support "prefer busy polling" NAPI operation mode, where we defer
     softirq for some time expecting applications to periodically busy
     poll

   - AF_XDP: improve efficiency by more batching and hindering the
     adjacency cache prefetcher

   - af_packet: make packet_fanout.arr size configurable up to 64K

   - tcp: optimize TCP zero copy receive in presence of partial or
     unaligned reads making zero copy a performance win for much smaller
     messages

   - XDP: add bulk APIs for returning / freeing frames

   - sched: support fragmenting IP packets as they come out of conntrack

   - net: allow virtual netdevs to forward UDP L4 and fraglist GSO skbs

  BPF:

   - BPF switch from crude rlimit-based to memcg-based memory accounting

   - BPF type format information for kernel modules and related tracing
     enhancements

   - BPF implement task local storage for BPF LSM

   - allow the FENTRY/FEXIT/RAW_TP tracing programs to use
     bpf_sk_storage

  Protocols:

   - mptcp: improve multiple xmit streams support, memory accounting and
     many smaller improvements

   - TLS: support CHACHA20-POLY1305 cipher

   - seg6: add support for SRv6 End.DT4/DT6 behavior

   - sctp: Implement RFC 6951: UDP Encapsulation of SCTP

   - ppp_generic: add ability to bridge channels directly

   - bridge: Connectivity Fault Management (CFM) support as is defined
     in IEEE 802.1Q section 12.14.

  Drivers:

   - mlx5: make use of the new auxiliary bus to organize the driver
     internals

   - mlx5: more accurate port TX timestamping support

   - mlxsw:
      - improve the efficiency of offloaded next hop updates by using
        the new nexthop object API
      - support blackhole nexthops
      - support IEEE 802.1ad (Q-in-Q) bridging

   - rtw88: major bluetooth co-existance improvements

   - iwlwifi: support new 6 GHz frequency band

   - ath11k: Fast Initial Link Setup (FILS)

   - mt7915: dual band concurrent (DBDC) support

   - net: ipa: add basic support for IPA v4.5

  Refactor:

   - a few pieces of in_interrupt() cleanup work from Sebastian Andrzej
     Siewior

   - phy: add support for shared interrupts; get rid of multiple driver
     APIs and have the drivers write a full IRQ handler, slight growth
     of driver code should be compensated by the simpler API which also
     allows shared IRQs

   - add common code for handling netdev per-cpu counters

   - move TX packet re-allocation from Ethernet switch tag drivers to a
     central place

   - improve efficiency and rename nla_strlcpy

   - number of W=1 warning cleanups as we now catch those in a patchwork
     build bot

  Old code removal:

   - wan: delete the DLCI / SDLA drivers

   - wimax: move to staging

   - wifi: remove old WDS wifi bridging support"

* tag 'net-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1922 commits)
  net: hns3: fix expression that is currently always true
  net: fix proc_fs init handling in af_packet and tls
  nfc: pn533: convert comma to semicolon
  af_vsock: Assign the vsock transport considering the vsock address flags
  af_vsock: Set VMADDR_FLAG_TO_HOST flag on the receive path
  vsock_addr: Check for supported flag values
  vm_sockets: Add VMADDR_FLAG_TO_HOST vsock flag
  vm_sockets: Add flags field in the vsock address data structure
  net: Disable NETIF_F_HW_TLS_TX when HW_CSUM is disabled
  tcp: Add logic to check for SYN w/ data in tcp_simple_retransmit
  net: mscc: ocelot: install MAC addresses in .ndo_set_rx_mode from process context
  nfc: s3fwrn5: Release the nfc firmware
  net: vxget: clean up sparse warnings
  mlxsw: spectrum_router: Use eXtended mezzanine to offload IPv4 router
  mlxsw: spectrum: Set KVH XLT cache mode for Spectrum2/3
  mlxsw: spectrum_router_xm: Introduce basic XM cache flushing
  mlxsw: reg: Add Router LPM Cache Enable Register
  mlxsw: reg: Add Router LPM Cache ML Delete Register
  mlxsw: spectrum_router_xm: Implement L-value tracking for M-index
  mlxsw: reg: Add XM Router M Table Register
  ...

27 files changed:
1  2 
Documentation/admin-guide/index.rst
Documentation/devicetree/bindings/vendor-prefixes.yaml
Documentation/driver-api/index.rst
MAINTAINERS
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
drivers/nfc/s3fwrn5/firmware.c
fs/io_uring.c
include/linux/lockdep.h
include/linux/memcontrol.h
include/linux/mm.h
include/linux/mm_types.h
include/linux/page-flags.h
include/net/net_namespace.h
include/net/sch_generic.h
include/net/sock.h
kernel/bpf/stackmap.c
kernel/fork.c
kernel/trace/bpf_trace.c
lib/Kconfig.debug
mm/huge_memory.c
mm/memcontrol.c
mm/page_alloc.c
mm/slab.h
mm/workingset.c
net/core/dev.c
net/mptcp/options.c
net/mptcp/subflow.c

Simple merge
Simple merge
diff --cc MAINTAINERS
@@@ -6935,16 -6917,11 +6935,10 @@@ S:   Maintaine
  W:    http://floatingpoint.sourceforge.net/emulator/index.html
  F:    arch/x86/math-emu/
  
- FRAME RELAY DLCI/FRAD (Sangoma drivers too)
- L:    netdev@vger.kernel.org
- S:    Orphan
- F:    drivers/net/wan/dlci.c
- F:    drivers/net/wan/sdla.c
  FRAMEBUFFER LAYER
 -M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    dri-devel@lists.freedesktop.org
  L:    linux-fbdev@vger.kernel.org
 -S:    Maintained
 +S:    Orphan
  Q:    http://patchwork.kernel.org/project/linux-fbdev/list/
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/fb/
Simple merge
diff --cc fs/io_uring.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/memcontrol.c
@@@ -853,25 -849,7 +844,26 @@@ void __mod_lruvec_state(struct lruvec *
                __mod_memcg_lruvec_state(lruvec, idx, val);
  }
  
 -void __mod_lruvec_slab_state(void *p, enum node_stat_item idx, int val)
 +void __mod_lruvec_page_state(struct page *page, enum node_stat_item idx,
 +                           int val)
 +{
 +      struct page *head = compound_head(page); /* rmap on tail pages */
++      struct mem_cgroup *memcg = page_memcg(head);
 +      pg_data_t *pgdat = page_pgdat(page);
 +      struct lruvec *lruvec;
 +
 +      /* Untracked pages have no memcg, no lruvec. Update only the node */
-       if (!head->mem_cgroup) {
++      if (!memcg) {
 +              __mod_node_page_state(pgdat, idx, val);
 +              return;
 +      }
 +
-       lruvec = mem_cgroup_lruvec(head->mem_cgroup, pgdat);
++      lruvec = mem_cgroup_lruvec(memcg, pgdat);
 +      __mod_lruvec_state(lruvec, idx, val);
 +}
 +EXPORT_SYMBOL(__mod_lruvec_page_state);
 +
 +void __mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val)
  {
        pg_data_t *pgdat = page_pgdat(virt_to_page(p));
        struct mem_cgroup *memcg;
@@@ -2889,9 -2880,9 +2881,9 @@@ static void cancel_charge(struct mem_cg
  
  static void commit_charge(struct page *page, struct mem_cgroup *memcg)
  {
-       VM_BUG_ON_PAGE(page->mem_cgroup, page);
+       VM_BUG_ON_PAGE(page_memcg(page), page);
        /*
 -       * Any of the following ensures page->mem_cgroup stability:
 +       * Any of the following ensures page's memcg stability:
         *
         * - the page lock
         * - LRU isolation
@@@ -6919,10 -6977,11 +6905,10 @@@ void mem_cgroup_migrate(struct page *ol
                return;
  
        /* Page cache replacement: new page already charged? */
-       if (newpage->mem_cgroup)
+       if (page_memcg(newpage))
                return;
  
-       memcg = oldpage->mem_cgroup;
 -      /* Swapcache readahead pages can get replaced before being charged */
+       memcg = page_memcg(oldpage);
        if (!memcg)
                return;
  
diff --cc mm/page_alloc.c
Simple merge
diff --cc mm/slab.h
Simple merge
diff --cc mm/workingset.c
Simple merge
diff --cc net/core/dev.c
Simple merge
Simple merge
Simple merge