1. 15 Dec, 2020 24 commits
  2. 14 Dec, 2020 7 commits
  3. 13 Dec, 2020 1 commit
  4. 12 Dec, 2020 8 commits
    • SeongJae Park's avatar
      inet: frags: batch fqdir destroy works · 0b9b2414
      SeongJae Park authored
      On a few of our systems, I found frequent 'unshare(CLONE_NEWNET)' calls
      make the number of active slab objects including 'sock_inode_cache' type
      rapidly and continuously increase.  As a result, memory pressure occurs.
      
      In more detail, I made an artificial reproducer that resembles the
      workload that we found the problem and reproduce the problem faster.  It
      merely repeats 'unshare(CLONE_NEWNET)' 50,000 times in a loop.  It takes
      about 2 minutes.  On 40 CPU cores / 70GB DRAM machine, the available
      memory continuously reduced in a fast speed (about 120MB per second,
      15GB in total within the 2 minutes).  Note that the issue don't
      reproduce on every machine.  On my 6 CPU cores machine, the problem
      didn't reproduce.
      
      'cleanup_net()' and 'fqdir_work_fn()' are functions that deallocate the
      relevant memory objects.  They are asynchronously invoked by the work
      queues and internally use 'rcu_barrier()' to ensure safe destructions.
      'cleanup_net()' works in a batched maneer in a single thread worker,
      while 'fqdir_work_fn()' works for each 'fqdir_exit()' call in the
      'system_wq'.  Therefore, 'fqdir_work_fn()' called frequently under the
      workload and made the contention for 'rcu_barrier()' high.  In more
      detail, the global mutex, 'rcu_state.barrier_mutex' became the
      bottleneck.
      
      This commit avoids such contention by doing the 'rcu_barrier()' and
      subsequent lightweight works in a batched manner, as similar to that of
      'cleanup_net()'.  The fqdir hashtable destruction, which is done before
      the 'rcu_barrier()', is still allowed to run in parallel for fast
      processing, but this commit makes it to use a dedicated work queue
      instead of the 'system_wq', to make sure that the number of threads is
      bounded.
      Signed-off-by: default avatarSeongJae Park <sjpark@amazon.de>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20201211112405.31158-1-sjpark@amazon.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0b9b2414
    • Krzysztof Kozlowski's avatar
      nfc: s3fwrn5: let core configure the interrupt trigger · e0a64d1d
      Krzysztof Kozlowski authored
      If interrupt trigger is not set when requesting the interrupt, the core
      will take care of reading trigger type from Devicetree.  There is no
      point to do it in the driver.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Link: https://lore.kernel.org/r/20201210211824.214949-1-krzk@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e0a64d1d
    • DENG Qingfang's avatar
      net: dsa: mt7530: enable MTU normalization · 771c8901
      DENG Qingfang authored
      MT7530 has a global RX length register, so we are actually changing its
      MRU.
      Enable MTU normalization for this reason.
      Signed-off-by: default avatarDENG Qingfang <dqfext@gmail.com>
      Acked-by: default avatarLanden Chao <landen.chao@mediatek.com>
      Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
      Link: https://lore.kernel.org/r/20201210170322.3433-1-dqfext@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      771c8901
    • Jakub Kicinski's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next · e2437ac2
      Jakub Kicinski authored
      Steffen Klassert says:
      
      ====================
      pull request (net-next): ipsec-next 2020-12-12
      
      Just one patch this time:
      
      1) Redact the SA keys with kernel lockdown confidentiality.
         If enabled, no secret keys are sent to uuserspace.
         From Antony Antony.
      
      * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next:
        xfrm: redact SA secret with lockdown confidentiality
      ====================
      
      Link: https://lore.kernel.org/r/20201212085737.2101294-1-steffen.klassert@secunet.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e2437ac2
    • Jakub Kicinski's avatar
      Merge tag 'wireless-drivers-next-2020-12-12' of... · e5795aac
      Jakub Kicinski authored
      Merge tag 'wireless-drivers-next-2020-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      Kalle Valo says:
      
      ====================
      wireless-drivers-next patches for v5.11
      
      Second set of patches for v5.11. iwlwifi gaining support for the new
      6 GHz band and rtw88 got a new channel. Lots of new features for mt76
      and ath11k now has working suspend for PCI devices. And as always,
      smaller fixes and cleanups all over.
      
      Major changes:
      
      rtw88
       * add support for channel 144
      
      mt76
       * support for more sta interfaces on mt7615/mt7915
       * mt7915 encapsulation offload
       * performance improvements
       * channel noise report on mt7915
       * mt7915 testmode support
       * mt7915 DBDC support
      
      iwlwifi
       * support 6 GHz band
      
      ath11k
       * suspend support for QCA6390 PCI devices
       * support TXOP duration based RTS threshold
       * mesh: add support for 256 bitmap in blockack frames in 11ax
      
      * tag 'wireless-drivers-next-2020-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next: (197 commits)
        ath11k: implement suspend for QCA6390 PCI devices
        ath11k: hif: add ce irq enable and disable functions
        ath11k: implement WoW enable and wakeup commands
        ath11k: set credit_update flag for flow controlled ep only
        ath11k: dp: stop rx pktlog before suspend
        ath11k: htc: implement suspend handling
        ath11k: htc: remove unused struct ath11k_htc_ops
        ath11k: pci: read select_window register to ensure write is finished
        ath11k: hif: implement suspend and resume functions
        ath11k: mhi: hook suspend and resume
        ath11k: Fix incorrect tlvs in scan start command
        ath11k: pci: disable VDD4BLOW
        ath11k: pci: fix L1ss clock unstable problem
        ath11k: pci: fix hot reset stability issues
        ath11k: put hw to DBS using WMI_PDEV_SET_HW_MODE_CMDID
        ath11k: mhi: print a warning if firmware crashed
        ath11k: use MHI provided APIs to allocate and free MHI controller
        ath10k: add atomic protection for device recovery
        ath10k: add option for chip-id based BDF selection
        mt76: remove unused variable q
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20201212050839.EF50EC433C6@smtp.codeaurora.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e5795aac
    • Pablo Neira Ayuso's avatar
      netfilter: nftables: netlink support for several set element expressions · 48b0ae04
      Pablo Neira Ayuso authored
      This patch adds three new netlink attributes to encapsulate a list of
      expressions per set elements:
      
      - NFTA_SET_EXPRESSIONS: this attribute provides the set definition in
        terms of expressions. New set elements get attached the list of
        expressions that is specified by this new netlink attribute.
      - NFTA_SET_ELEM_EXPRESSIONS: this attribute allows users to restore (or
        initialize) the stateful information of set elements when adding an
        element to the set.
      - NFTA_DYNSET_EXPRESSIONS: this attribute specifies the list of
        expressions that the set element gets when it is inserted from the
        packet path.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      48b0ae04
    • Pablo Neira Ayuso's avatar
      netfilter: nftables: generalize set extension to support for several expressions · 563125a7
      Pablo Neira Ayuso authored
      This patch replaces NFT_SET_EXPR by NFT_SET_EXT_EXPRESSIONS. This new
      extension allows to attach several expressions to one set element (not
      only one single expression as NFT_SET_EXPR provides). This patch
      prepares for support for several expressions per set element in the
      netlink userspace API.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      563125a7
    • Jakub Kicinski's avatar
      Merge tag 'mac80211-next-for-net-next-2020-12-11' of... · 00f7763a
      Jakub Kicinski authored
      Merge tag 'mac80211-next-for-net-next-2020-12-11' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
      
      Johannes Berg says:
      
      ====================
      A new set of wireless changes:
       * validate key indices for key deletion
       * more preamble support in mac80211
       * various 6 GHz scan fixes/improvements
       * a common SAR power limitations API
       * various small fixes & code improvements
      
      * tag 'mac80211-next-for-net-next-2020-12-11' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next: (35 commits)
        mac80211: add ieee80211_set_sar_specs
        nl80211: add common API to configure SAR power limitations
        mac80211: fix a mistake check for rx_stats update
        mac80211: mlme: save ssid info to ieee80211_bss_conf while assoc
        mac80211: Update rate control on channel change
        mac80211: don't filter out beacons once we start CSA
        mac80211: Fix calculation of minimal channel width
        mac80211: ignore country element TX power on 6 GHz
        mac80211: use bitfield helpers for BA session action frames
        mac80211: support Rx timestamp calculation for all preamble types
        mac80211: don't set set TDLS STA bandwidth wider than possible
        mac80211: support driver-based disconnect with reconnect hint
        cfg80211: support immediate reconnect request hint
        mac80211: use struct assignment for he_obss_pd
        cfg80211: remove struct ieee80211_he_bss_color
        nl80211: validate key indexes for cfg80211_registered_device
        cfg80211: include block-tx flag in channel switch started event
        mac80211: disallow band-switch during CSA
        ieee80211: update reduced neighbor report TBTT info length
        cfg80211: Save the regulatory domain when setting custom regulatory
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20201211142552.209018-1-johannes@sipsolutions.netSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      00f7763a