1. 18 Dec, 2018 3 commits
  2. 17 Dec, 2018 6 commits
  3. 16 Dec, 2018 28 commits
  4. 15 Dec, 2018 3 commits
    • David S. Miller's avatar
      Merge tag 'mlx5e-updates-2018-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 63de273f
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5e-updates-2018-12-14 (VF Lag)
      
      From Aviv Heller,
      
      Subsequent patches introduce VF LAG, which provdies load-balancing and
      high-availability capabilities for VFs associated with different
      physical ports of the same Connect-X card.
      
      This series consists of the following:
       - mlx5 devcom, driver infrastructure that facilitates operations that involve
         both core devices (physical functions) of the same card, to synchronize and
         communicate between two driver instances of the same card.
       - Infrastructure for TC rule duplication.
       - Changes to LAG logic to enable its use when SR-IOV is enabled
       - PFs in switchdev mode is the only mode currently supported.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      63de273f
    • David S. Miller's avatar
      Merge branch 'net-mitigate-retpoline-overhead' · bedf3b33
      David S. Miller authored
      Paolo Abeni says:
      
      ====================
      net: mitigate retpoline overhead
      
      The spectre v2 counter-measures, aka retpolines, are a source of measurable
      overhead[1]. We can partially address that when the function pointer refers to
      a builtin symbol resorting to a list of tests vs well-known builtin function and
      direct calls.
      
      Experimental results show that replacing a single indirect call via
      retpoline with several branches and a direct call gives performance gains
      even when multiple branches are added - 5 or more, as reported in [2].
      
      This may lead to some uglification around the indirect calls. In netconf 2018
      Eric Dumazet described a technique to hide the most relevant part of the needed
      boilerplate with some macro help.
      
      This series is a [re-]implementation of such idea, exposing the introduced
      helpers in a new header file. They are later leveraged to avoid the indirect
      call overhead in the GRO path, when possible.
      
      Overall this gives > 10% performance improvement for UDP GRO benchmark and
      smaller but measurable for TCP syn flood.
      
      The added infra can be used in follow-up patches to cope with retpoline overhead
      in other points of the networking stack (e.g. at the qdisc layer) and possibly
      even in other subsystems.
      
      v2  -> v3:
       - fix build error with CONFIG_IPV6=m
      
      v1  -> v2:
       - list explicitly the builtin function names in INDIRECT_CALL_*(),
         as suggested by Ed Cree
       - expand the recipients list
      
      rfc -> v1:
       - use branch prediction hints, as suggested by Eric
      
      [1] http://vger.kernel.org/netconf2018_files/PaoloAbeni_netconf2018.pdf
      [2] https://linuxplumbersconf.org/event/2/contributions/99/attachments/98/117/lpc18_paper_af_xdp_perf-v2.pdf
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bedf3b33
    • Paolo Abeni's avatar
      udp: use indirect call wrappers for GRO socket lookup · 4f24ed77
      Paolo Abeni authored
      This avoids another indirect call for UDP GRO. Again, the test
      for the IPv6 variant is performed first.
      
      v1 -> v2:
       - adapted to INDIRECT_CALL_ changes
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f24ed77