1. 01 Oct, 2020 28 commits
  2. 30 Sep, 2020 12 commits
    • David S. Miller's avatar
      Merge tag 'linux-can-next-for-5.10-20200930' of... · 8333c1c4
      David S. Miller authored
      Merge tag 'linux-can-next-for-5.10-20200930' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
      
      Marc Kleine-Budde says:
      
      ====================
      pull-request: can-next 2020-09-30
      
      this is a pull request of 13 patches for net-next.
      
      The first 10 target the mcp25xxfd driver (which is renamed to mcp251xfd during
      this series).
      
      The first two patches are by Thomas Kopp, which adds reference to the just
      related errata and updates the documentation and log messages.
      
      Dan Carpenter's patch fixes a resource leak during ifdown.
      
      A patch by me adds the missing initialization of a variable.
      
      Oleksij Rempel updates the DT binding documentation as requested by Rob
      Herring.
      
      The next 5 patches are by Thomas Kopp and me. During review Geert Uytterhoeven
      suggested to use "microchip,mcp251xfd" instead of "microchip,mcp25xxfd" as the
      DT autodetection compatible to avoid clashes with future but incompatible
      devices. We decided not only to rename the compatible but the whole driver from
      "mcp25xxfd" to "mcp251xfd". This is done in several patches.
      
      Joakim Zhang contributes three patches for the flexcan driver. The first one
      adds support for the ECC feature, which is implemented on some modern IP cores,
      by initializing the controller's memory during ifup. The next patch adds
      support for the i.MX8MP (which supports ECC) and the last patch properly
      disables the runtime PM if device registration fails.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8333c1c4
    • David S. Miller's avatar
      Merge branch 'ionic-watchdog-training' · 11789fe7
      David S. Miller authored
      Shannon Nelson says:
      
      ====================
      ionic watchdog training
      
      Our link watchdog displayed a couple of unfriendly behaviors in some recent
      stress testing.  These patches change the startup and stop timing in order
      to be sure that expected structures are ready to be used by the watchdog.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      11789fe7
    • Shannon Nelson's avatar
      ionic: prevent early watchdog check · 0816e0c8
      Shannon Nelson authored
      In one corner case scenario, the driver device lif setup can
      get delayed such that the ionic_watchdog_cb() timer goes off
      before the ionic->lif is set, thus causing a NULL pointer panic.
      We catch the problem by checking for a NULL lif just a little
      earlier in the callback.
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0816e0c8
    • Shannon Nelson's avatar
      ionic: stop watchdog timer earlier on remove · df8aeaa8
      Shannon Nelson authored
      We need to be better at making sure we don't have a link check
      watchdog go off while we're shutting things down, so let's stop
      the timer as soon as we start the remove.
      
      Meanwhile, since that was the only thing in
      ionic_dev_teardown(), simplify and remove that function.
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      df8aeaa8
    • David S. Miller's avatar
      Merge branch 'tcp-exponential-backoff-in-tcp_send_ack' · 9b5cbf46
      David S. Miller authored
      Eric Dumazet says:
      
      ====================
      tcp: exponential backoff in tcp_send_ack()
      
      We had outages caused by repeated skb allocation failures in tcp_send_ack()
      
      It is time to add exponential backoff to reduce number of attempts.
      Before doing so, first patch removes icsk_ack.blocked to make
      room for a new field (icsk_ack.retry)
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b5cbf46
    • Eric Dumazet's avatar
      tcp: add exponential backoff in __tcp_send_ack() · a37c2134
      Eric Dumazet authored
      Whenever host is under very high memory pressure,
      __tcp_send_ack() skb allocation fails, and we setup
      a 200 ms (TCP_DELACK_MAX) timer before retrying.
      
      On hosts with high number of TCP sockets, we can spend
      considerable amount of cpu cycles in these attempts,
      add high pressure on various spinlocks in mm-layer,
      ultimately blocking threads attempting to free space
      from making any progress.
      
      This patch adds standard exponential backoff to avoid
      adding fuel to the fire.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a37c2134
    • Eric Dumazet's avatar
      inet: remove icsk_ack.blocked · b6b6d653
      Eric Dumazet authored
      TCP has been using it to work around the possibility of tcp_delack_timer()
      finding the socket owned by user.
      
      After commit 6f458dfb ("tcp: improve latencies of timer triggered events")
      we added TCP_DELACK_TIMER_DEFERRED atomic bit for more immediate recovery,
      so we can get rid of icsk_ack.blocked
      
      This frees space that following patch will reuse.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6b6d653
    • Alexandre Belloni's avatar
      net: macb: move pdata to private header · 20c168be
      Alexandre Belloni authored
      struct macb_platform_data is only used by macb_pci to register the platform
      device, move its definition to cadence/macb.h and remove platform_data/macb.h
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20c168be
    • David S. Miller's avatar
      Merge branch 'mlxsw-PFC-and-headroom-selftests' · e13dbc4f
      David S. Miller authored
      Petr Machata says:
      
      ====================
      mlxsw: PFC and headroom selftests
      
      Recent changes in the headroom management code made it clear that an
      automated way of testing this functionality is needed. This patchset brings
      two tests: a synthetic headroom behavior test, which verifies mechanics of
      headroom management. And a PFC test, which verifies whether this behavior
      actually translates into a working lossless configuration.
      
      Both of these tests rely on mlnx_qos[1], a tool that interfaces with Linux
      DCB API. The tool was originally written to work with Mellanox NICs, but
      does not actually rely on anything Mellanox-specific, and can be used for
      mlxsw as well as for any other NIC-like driver. Unlike Open LLDP it does
      support buffer commands and permits a fire-and-forget approach to
      configuration, which makes it very handy for writing of selftests.
      
      Patches #1-#3 extend the selftest devlink_lib.sh in various ways. Patch #4
      then adds a helper wrapper for mlnx_qos to mlxsw's qos_lib.sh.
      
      Patch #5 adds a test for management of port headroom.
      
      Patch #6 adds a PFC test.
      
      [1] https://github.com/Mellanox/mlnx-tools/
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e13dbc4f
    • Petr Machata's avatar
      selftests: mlxsw: Add a PFC test · bfa80478
      Petr Machata authored
      Add a test for PFC. Runs 10MB of traffic through a bottleneck and checks
      that none of it gets lost.
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bfa80478
    • Petr Machata's avatar
      selftests: mlxsw: Add headroom handling test · a65cc53a
      Petr Machata authored
      Add a test for headroom configuration. This covers projection of ETS
      configuration to ingress, PFC, adjustments for MTU, the qdisc / TC
      mode and the effect of egress SPAN session on buffer configuration.
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a65cc53a
    • Petr Machata's avatar
      selftests: mlxsw: qos_lib: Add a wrapper for running mlnx_qos · 4b94a2fa
      Petr Machata authored
      mlnx_qos is a script for configuration of DCB. Despite the name it is not
      actually Mellanox-specific in any way. It is currently the only ad-hoc tool
      available (in contrast to a daemon that manages an interface on an ongoing
      basis). However, it is very verbose and parsing out error messages is not
      really possible. Add a wrapper that makes it easier to use the tool.
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b94a2fa