# git rev-parse -q --verify fcc79e1714e8c2b8e216dc3149812edd37884eef^{commit} fcc79e1714e8c2b8e216dc3149812edd37884eef already have revision, skipping fetch # git checkout -q -f -B kisskb fcc79e1714e8c2b8e216dc3149812edd37884eef # git clean -qxdf # < git log -1 # commit fcc79e1714e8c2b8e216dc3149812edd37884eef # Merge: 6e95ef0258ff dd7207838d38 # Author: Linus Torvalds # Date: Thu Nov 21 08:28:08 2024 -0800 # # Merge tag 'net-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next # # Pull networking updates from Paolo Abeni: # "The most significant set of changes is the per netns RTNL. The new # behavior is disabled by default, regression risk should be contained. # # Notably the new config knob PTP_1588_CLOCK_VMCLOCK will inherit its # default value from PTP_1588_CLOCK_KVM, as the first is intended to be # a more reliable replacement for the latter. # # Core: # # - Started a very large, in-progress, effort to make the RTNL lock # scope per network-namespace, thus reducing the lock contention # significantly in the containerized use-case, comprising: # - RCU-ified some relevant slices of the FIB control path # - introduce basic per netns locking helpers # - namespacified the IPv4 address hash table # - remove rtnl_register{,_module}() in favour of # rtnl_register_many() # - refactor rtnl_{new,del,set}link() moving as much validation as # possible out of RTNL lock # - convert all phonet doit() and dumpit() handlers to RCU # - convert IPv4 addresses manipulation to per-netns RTNL # - convert virtual interface creation to per-netns RTNL # the per-netns lock infrastructure is guarded by the # CONFIG_DEBUG_NET_SMALL_RTNL knob, disabled by default ad interim. # # - Introduce NAPI suspension, to efficiently switching between busy # polling (NAPI processing suspended) and normal processing. # # - Migrate the IPv4 routing input, output and control path from direct # ToS usage to DSCP macros. This is a work in progress to make ECN # handling consistent and reliable. # # - Add drop reasons support to the IPv4 rotue input path, allowing # better introspection in case of packets drop. # # - Make FIB seqnum lockless, dropping RTNL protection for read access. # # - Make inet{,v6} addresses hashing less predicable. # # - Allow providing timestamp OPT_ID via cmsg, to correlate TX packets # and timestamps # # Things we sprinkled into general kernel code: # # - Add small file operations for debugfs, to reduce the struct ops # size. # # - Refactoring and optimization for the implementation of page_frag # API, This is a preparatory work to consolidate the page_frag # implementation. # # Netfilter: # # - Optimize set element transactions to reduce memory consumption # # - Extended netlink error reporting for attribute parser failure. # # - Make legacy xtables configs user selectable, giving users the # option to configure iptables without enabling any other config. # # - Address a lot of false-positive RCU issues, pointed by recent CI # improvements. # # BPF: # # - Put xsk sockets on a struct diet and add various cleanups. Overall, # this helps to bump performance by 12% for some workloads. # # - Extend BPF selftests to increase coverage of XDP features in # combination with BPF cpumap. # # - Optimize and homogenize bpf_csum_diff helper for all archs and also # add a batch of new BPF selftests for it. # # - Extend netkit with an option to delegate skb->{mark,priority} # scrubbing to its BPF program. # # - Make the bpf_get_netns_cookie() helper available also to tc(x) BPF # programs. # # Protocols: # # - Introduces 4-tuple hash for connected udp sockets, speeding-up # significantly connected sockets lookup. # # - Add a fastpath for some TCP timers that usually expires after # close, the socket lock contention. # # - Add inbound and outbound xfrm state caches to speed up state # lookups. # # - Avoid sending MPTCP advertisements on stale subflows, reducing # risks on loosing them. # # - Make neighbours table flushing more scalable, maintaining per # device neigh lists. # # Driver API: # # - Introduce a unified interface to configure transmission H/W # shaping, and expose it to user-space via generic-netlink. # # - Add support for per-NAPI config via netlink. This makes napi # configuration persistent across queues removal and re-creation. # Requires driver updates, currently supported drivers are: # nVidia/Mellanox mlx4 and mlx5, Broadcom brcm and Intel ice. # # - Add ethtool support for writing SFP / PHY firmware blocks. # # - Track RSS context allocation from ethtool core. # # - Implement support for mirroring to DSA CPU port, via TC mirror # offload. # # - Consolidate FDB updates notification, to avoid duplicates on # device-specific entries. # # - Expose DPLL clock quality level to the user-space. # # - Support master-slave PHY config via device tree. # # Tests and tooling: # # - forwarding: introduce deferred commands, to simplify the cleanup # phase # # Drivers: # # - Updated several drivers - Amazon vNic, Google vNic, Microsoft vNic, # Intel e1000e and Broadcom Tigon3 - to use netdev-genl to link the # IRQs and queues to NAPI IDs, allowing busy polling and better # introspection. # # - Ethernet high-speed NICs: # - nVidia/Mellanox: # - mlx5: # - a large refactor to implement support for cross E-Switch # scheduling # - refactor H/W conter management to let it scale better # - H/W GRO cleanups # - Intel (100G, ice):: # - add support for ethtool reset # - implement support for per TX queue H/W shaping # - AMD/Solarflare: # - implement per device queue stats support # - Broadcom (bnxt): # - improve wildcard l4proto on IPv4/IPv6 ntuple rules # - Marvell Octeon: # - Add representor support for each Resource Virtualization Unit # (RVU) device. # - Hisilicon: # - add support for the BMC Gigabit Ethernet # - IBM (EMAC): # - driver cleanup and modernization # - Cisco (VIC): # - raise the queues number limit to 256 # # - Ethernet virtual: # - Google vNIC: # - implement page pool support # - macsec: # - inherit lower device's features and TSO limits when # offloading # - virtio_net: # - enable premapped mode by default # - support for XDP socket(AF_XDP) zerocopy TX # - wireguard: # - set the TSO max size to be GSO_MAX_SIZE, to aggregate larger # packets. # # - Ethernet NICs embedded and virtual: # - Broadcom ASP: # - enable software timestamping # - Freescale: # - add enetc4 PF driver # - MediaTek: Airoha SoC: # - implement BQL support # - RealTek r8169: # - enable TSO by default on r8168/r8125 # - implement extended ethtool stats # - Renesas AVB: # - enable TX checksum offload # - Synopsys (stmmac): # - support header splitting for vlan tagged packets # - move common code for DWMAC4 and DWXGMAC into a separate FPE # module. # - add dwmac driver support for T-HEAD TH1520 SoC # - Synopsys (xpcs): # - driver refactor and cleanup # - TI: # - icssg_prueth: add VLAN offload support # - Xilinx emaclite: # - add clock support # # - Ethernet switches: # - Microchip: # - implement support for the lan969x Ethernet switch family # - add LAN9646 switch support to KSZ DSA driver # # - Ethernet PHYs: # - Marvel: 88q2x: enable auto negotiation # - Microchip: add support for LAN865X Rev B1 and LAN867X Rev C1/C2 # # - PTP: # - Add support for the Amazon virtual clock device # - Add PtP driver for s390 clocks # # - WiFi: # - mac80211 # - EHT 1024 aggregation size for transmissions # - new operation to indicate that a new interface is to be added # - support radio separation of multi-band devices # - move wireless extension spy implementation to libiw # - Broadcom: # - brcmfmac: optional LPO clock support # - Microchip: # - add support for Atmel WILC3000 # - Qualcomm (ath12k): # - firmware coredump collection support # - add debugfs support for a multitude of statistics # - Qualcomm (ath5k): # - Arcadyan ARV45XX AR2417 & Gigaset SX76[23] AR241[34]A support # - Realtek: # - rtw88: 8821au and 8812au USB adapters support # - rtw89: add thermal protection # - rtw89: fine tune BT-coexsitence to improve user experience # - rtw89: firmware secure boot for WiFi 6 chip # # - Bluetooth # - add Qualcomm WCN785x support for ids Foxconn 0xe0fc/0xe0f3 and # 0x13d3:0x3623 # - add Realtek RTL8852BE support for id Foxconn 0xe123 # - add MediaTek MT7920 support for wireless module ids # - btintel_pcie: add handshake between driver and firmware # - btintel_pcie: add recovery mechanism # - btnxpuart: add GPIO support to power save feature" # # * tag 'net-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1475 commits) # mm: page_frag: fix a compile error when kernel is not compiled # Documentation: tipc: fix formatting issue in tipc.rst # selftests: nic_performance: Add selftest for performance of NIC driver # selftests: nic_link_layer: Add selftest case for speed and duplex states # selftests: nic_link_layer: Add link layer selftest for NIC driver # bnxt_en: Add FW trace coredump segments to the coredump # bnxt_en: Add a new ethtool -W dump flag # bnxt_en: Add 2 parameters to bnxt_fill_coredump_seg_hdr() # bnxt_en: Add functions to copy host context memory # bnxt_en: Do not free FW log context memory # bnxt_en: Manage the FW trace context memory # bnxt_en: Allocate backing store memory for FW trace logs # bnxt_en: Add a 'force' parameter to bnxt_free_ctx_mem() # bnxt_en: Refactor bnxt_free_ctx_mem() # bnxt_en: Add mem_valid bit to struct bnxt_ctx_mem_type # bnxt_en: Update firmware interface spec to 1.10.3.85 # selftests/bpf: Add some tests with sockmap SK_PASS # bpf: fix recursive lock when verdict program return SK_PASS # wireguard: device: support big tcp GSO # wireguard: selftests: load nf_conntrack if not present # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 fcc79e1714e8c2b8e216dc3149812edd37884eef # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- cavium_octeon_defconfig # < make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- /kisskb/src/arch/mips/pci/pci-octeon.c:234:12: warning: no previous prototype for 'octeon_pci_pcibios_map_irq' [-Wmissing-prototypes] int __init octeon_pci_pcibios_map_irq(const struct pci_dev *dev, ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/pci/pcie-octeon.c:1471:5: warning: no previous prototype for 'octeon_pcie_pcibios_map_irq' [-Wmissing-prototypes] int octeon_pcie_pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/pci/msi-octeon.c:343:12: warning: no previous prototype for 'octeon_msi_initialize' [-Wmissing-prototypes] int __init octeon_msi_initialize(void) ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/octeon-platform.c:701:13: warning: no previous prototype for 'octeon_fill_mac_addresses' [-Wmissing-prototypes] void __init octeon_fill_mac_addresses(void) ^~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/smp.c:100:6: warning: no previous prototype for 'octeon_send_ipi_single' [-Wmissing-prototypes] void octeon_send_ipi_single(int cpu, unsigned int action) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:297:5: warning: no previous prototype for 'register_co_cache_error_notifier' [-Wmissing-prototypes] int register_co_cache_error_notifier(struct notifier_block *nb) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:303:5: warning: no previous prototype for 'unregister_co_cache_error_notifier' [-Wmissing-prototypes] int unregister_co_cache_error_notifier(struct notifier_block *nb) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:342:17: warning: no previous prototype for 'cache_parity_error_octeon_recoverable' [-Wmissing-prototypes] asmlinkage void cache_parity_error_octeon_recoverable(void) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:351:17: warning: no previous prototype for 'cache_parity_error_octeon_non_recoverable' [-Wmissing-prototypes] asmlinkage void cache_parity_error_octeon_non_recoverable(void) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/executive/cvmx-helper-errata.c:49:6: warning: no previous prototype for '__cvmx_helper_errata_qlm_disable_2nd_order_cdr' [-Wmissing-prototypes] void __cvmx_helper_errata_qlm_disable_2nd_order_cdr(int qlm) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/executive/cvmx-interrupt-decodes.c:53:6: warning: no previous prototype for '__cvmx_interrupt_gmxx_rxx_int_en_enable' [-Wmissing-prototypes] void __cvmx_interrupt_gmxx_rxx_int_en_enable(int index, int block) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/watchdog/octeon-wdt-main.c:210:6: warning: no previous prototype for 'octeon_wdt_nmi_stage3' [-Wmissing-prototypes] void octeon_wdt_nmi_stage3(u64 reg[32]) ^~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 # Build took: 0:02:07.144808