1. 25 11月, 2019 11 次提交
  2. 24 11月, 2019 15 次提交
  3. 23 11月, 2019 14 次提交
    • J
      Merge branch 'sfc-ARFS-expiry-improvements' · 8dcdc952
      Jakub Kicinski 提交于
      Edward Cree says:
      
      ====================
      A series of changes to how we check filters for expiry, manage how much
       of that work to do & when, etc.
      Prompted by some pathological behaviour under heavy load, which was
      Reported-by: NDavid Ahern <dahern@digitalocean.com>
      ====================
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      8dcdc952
    • E
      sfc: do ARFS expiry work occasionally even without NAPI poll · 6fbc05e5
      Edward Cree 提交于
      If there's no traffic on a channel, its ARFS expiry work will never get
       scheduled by efx_poll() as that isn't being run.
      So make efx_filter_rfs_expire() reschedule itself to run after 30 seconds.
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      6fbc05e5
    • E
      sfc: add statistics for ARFS · ca70bd42
      Edward Cree 提交于
      Report the number of successful and failed insertions, and also the
       current count of filters, to aid in tuning e.g. rps_flow_cnt.
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      ca70bd42
    • E
      sfc: suppress MCDI errors from ARFS · 0aa6608d
      Edward Cree 提交于
      In high connection count usage, the NIC's filter table may be filled with
       sufficiently many ARFS filters that further insertions fail.  As this
       does not represent a correctness issue, do not log the resulting MCDI
       errors.  Add a debug-level message under the (by default disabled)
       rx_status category instead; and take the opportunity to do a little extra
       expiry work.
      
      Since there are now multiple workitems able to call __efx_filter_rfs_expire
       on a given channel, it is possible for them to race and thus pass quotas
       which, combined, exceed rfs_filter_count.  Thus, don't WARN_ON if we loop
       all the way around the table with quota left over.
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Tested-by: NDavid Ahern <dahern@digitalocean.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      0aa6608d
    • E
      sfc: change ARFS expiry mechanism · 8490e75c
      Edward Cree 提交于
      The old rfs_filters_added method for determining the quota could potentially
       allow the NIC to become filled with old filters, which never get tested for
       expiry.  Instead, explicitly make expiry check work depend on the number of
       filters installed, and don't count checking slots without filters in as
       doing work.  This guarantees that each filter will be checked for expiry at
       least once every thirty seconds (assuming the channel to which it belongs is
       NAPI polling actively) regardless of fill level.
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Tested-by: NDavid Ahern <dahern@digitalocean.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      8490e75c
    • J
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · c4f2cbd3
      Jakub Kicinski 提交于
      Jeff Kirsher says:
      
      ====================
      This series contains updates to the ice driver only.
      
      Bruce updates the driver to store the number of functions the device has
      so that it won't have to compute it when setting safe mode capabilities.
      Adds a check to adjust the reporting of capabilities for devices with
      more than 4 ports, which differ for devices with less than 4 ports.
      
      Brett adds a helper function to determine if the VF is allowed to do
      VLAN operations based on the host's VF configuration.  Also adds a new
      function that initializes VLAN stripping (enabled/disabled) for the VF
      based on the device supported capabilities.  Adds a check if the vector
      index is valid with the respect to the number of transmit and receive
      queues configured when we set coalesce settings for DCB.  Adds a check
      if the promisc_mask contains ICE_PROMISC_VLAN_RX or ICE_PROMISC_VLAN_TX
      so that VLAN 0 promiscuous rules to be removed.  Add a helper macro for
      a commonly used de-reference of a pointer to &pf->dev->pdev.
      
      Jesse fixes an issue where if an invalid virtchnl request from the VF,
      the driver would return uninitialized data to the VF from the PF stack,
      so ensure the stack variable is initialized earlier.  Add helpers to the
      virtchnl interface make the reporting of strings consistent and help
      reduce stack space.  Implements VF statistics gathering via the kernel
      ndo_get_vf_stats().
      
      Akeem ensures we disable the state flag for each VF when its resources
      are returned to the device.
      
      Tony does additional cleanup in the driver to ensure the when we
      allocate and free memory within the same function, we should not be
      using devm_* variants; use regular alloc and free functions.
      
      Henry implements code to query and set the number of channels on the
      primary VSI for a PF via ethtool.
      
      Jake cleans up needless NULL checks in ice_sched_cleanup_all().
      
      Kevin updates the firmware API version to align with current NVM images.
      
      v2: Added "Fixes:" tag to patch 5 commit description and added the use
          of netif_is_rxfh_configured() in patch 13 to see if RSS has been
          configured by the user, if so do not overwrite that configuration.
      ====================
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      c4f2cbd3
    • M
      net: inet_is_local_reserved_port() should return bool not int · 30429fba
      Maciej Żenczykowski 提交于
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: NMaciej Żenczykowski <maze@google.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      30429fba
    • J
      Merge branch 'cxgb4-add-udp-segmentation-offload-support' · 091189ab
      Jakub Kicinski 提交于
      Rahul Lakkireddy says:
      
      ====================
      This series of patches add UDP Segmentation Offload (USO) supported
      by Chelsio T5/T6 NICs.
      
      Patch 1 updates the current Scatter Gather List (SGL) DMA unmap logic
      for USO requests.
      
      Patch 2 adds USO support for NIC and MQPRIO QoS offload Tx path.
      
      Patch 3 adds missing stats for MQPRIO QoS offload Tx path.
      ====================
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      091189ab
    • R
      cxgb4: add stats for MQPRIO QoS offload Tx path · 8311f0be
      Rahul Lakkireddy 提交于
      Export necessary stats for traffic flowing through MQPRIO QoS offload
      Tx path.
      
      v2:
      - No change.
      Signed-off-by: NRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      8311f0be
    • R
      cxgb4: add UDP segmentation offload support · 1a2a14fb
      Rahul Lakkireddy 提交于
      Implement and export UDP segmentation offload (USO) support for both
      NIC and MQPRIO QoS offload Tx path. Update appropriate logic in Tx to
      parse GSO info in skb and configure FW_ETH_TX_EO_WR request needed to
      perform USO.
      
      v2:
      - Remove inline keyword from write_eo_udp_wr() in sge.c. Let the
        compiler decide.
      Signed-off-by: NRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      1a2a14fb
    • R
      cxgb4/chcr: update SGL DMA unmap for USO · 0ed96b46
      Rahul Lakkireddy 提交于
      The FW_ETH_TX_EO_WR used for sending UDP Segmentation Offload (USO)
      requests expects the headers to be part of the descriptor and the
      payload to be part of the SGL containing the DMA mapped addresses.
      Hence, the DMA address in the first entry of the SGL can start after
      the packet headers. Currently, unmap_sgl() tries to unmap from this
      wrong offset, instead of the originally mapped DMA address.
      
      So, use existing unmap_skb() instead, which takes originally saved DMA
      addresses as input. Update all necessary Tx paths to save the original
      DMA addresses, so that unmap_skb() can unmap them properly.
      
      v2:
      - No change.
      Signed-off-by: NRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      0ed96b46
    • J
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · a9f852e9
      Jakub Kicinski 提交于
      Minor conflict in drivers/s390/net/qeth_l2_main.c, kept the lock
      from commit c8183f54 ("s390/qeth: fix potential deadlock on
      workqueue flush"), removed the code which was removed by commit
      9897d583 ("s390/qeth: consolidate some duplicated HW cmd code").
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      a9f852e9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 34c36f45
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Validate tunnel options length in act_tunnel_key, from Xin Long.
      
       2) Fix DMA sync bug in gve driver, from Adi Suresh.
      
       3) TSO kills performance on some r8169 chips due to HW issues, disable
          by default in that case, from Corinna Vinschen.
      
       4) Fix clock disable mismatch in fec driver, from Chubong Yuan.
      
       5) Fix interrupt status bits define in hns3 driver, from Huazhong Tan.
      
       6) Fix workqueue deadlocks in qeth driver, from Julian Wiedmann.
      
       7) Don't napi_disable() twice in r8152 driver, from Hayes Wang.
      
       8) Fix SKB extension memory leak, from Florian Westphal.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (54 commits)
        r8152: avoid to call napi_disable twice
        MAINTAINERS: Add myself as maintainer of virtio-vsock
        udp: drop skb extensions before marking skb stateless
        net: rtnetlink: prevent underflows in do_setvfinfo()
        can: m_can_platform: remove unnecessary m_can_class_resume() call
        can: m_can_platform: set net_device structure as driver data
        hv_netvsc: Fix send_table offset in case of a host bug
        hv_netvsc: Fix offset usage in netvsc_send_table()
        net-ipv6: IPV6_TRANSPARENT - check NET_RAW prior to NET_ADMIN
        sfc: Only cancel the PPS workqueue if it exists
        nfc: port100: handle command failure cleanly
        net-sysfs: fix netdev_queue_add_kobject() breakage
        r8152: Re-order napi_disable in rtl8152_close
        net: qca_spi: Move reset_count to struct qcaspi
        net: qca_spi: fix receive buffer size check
        net/ibmvnic: Ignore H_FUNCTION return from H_EOI to tolerate XIVE mode
        Revert "net/ibmvnic: Fix EOI when running in XIVE mode"
        net/mlxfw: Verify FSM error code translation doesn't exceed array size
        net/mlx5: Update the list of the PCI supported devices
        net/mlx5: Fix auto group size calculation
        ...
      34c36f45
    • M
      afs: Fix large file support · b485275f
      Marc Dionne 提交于
      By default s_maxbytes is set to MAX_NON_LFS, which limits the usable
      file size to 2GB, enforced by the vfs.
      
      Commit b9b1f8d5 ("AFS: write support fixes") added support for the
      64-bit fetch and store server operations, but did not change this value.
      As a result, attempts to write past the 2G mark result in EFBIG errors:
      
       $ dd if=/dev/zero of=foo bs=1M count=1 seek=2048
       dd: error writing 'foo': File too large
      
      Set s_maxbytes to MAX_LFS_FILESIZE.
      
      Fixes: b9b1f8d5 ("AFS: write support fixes")
      Signed-off-by: NMarc Dionne <marc.dionne@auristor.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b485275f