1. 22 Mar, 2023 6 commits
  2. 21 Mar, 2023 16 commits
  3. 20 Mar, 2023 15 commits
  4. 19 Mar, 2023 3 commits
    • David S. Miller's avatar
      Merge branch 'lan966x-tx-rx-improve' · d4671cb9
      David S. Miller authored
      Horatiu Vultur says:
      
      ====================
      net: lan966x: Improve TX/RX of frames from/to CPU
      
      The first patch of this series improves the RX side. As it seems to be
      an expensive operation to read the RX timestamp for every frame, then
      read it only if it is required. This will give an improvement of ~70mbit
      on the RX side.
      The second patch stops using the packing library. This improves mostly
      the TX side as this library is used to set diffent bits in the IFH. If
      this library is replaced with a more simple/shorter implementation,
      this gives an improvement of more than 100mbit on TX side.
      All the measurements were done using iperf3.
      
      v1->v2:
      - update lan966x_ifh_set to set the bytes and not each bit individually
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4671cb9
    • Horatiu Vultur's avatar
      net: lan966x: Stop using packing library · fd762783
      Horatiu Vultur authored
      When a frame is injected from CPU, it is required to create an IFH(Inter
      frame header) which sits in front of the frame that is transmitted.
      This IFH, contains different fields like destination port, to bypass the
      analyzer, priotity, etc. Lan966x it is using packing library to set and
      get the fields of this IFH. But this seems to be an expensive
      operations.
      If this is changed with a simpler implementation, the RX will be
      improved with ~5Mbit while on the TX is a much bigger improvement as it
      is required to set more fields. Below are the numbers for TX.
      
      Before:
      [  5]   0.00-10.02  sec   439 MBytes   367 Mbits/sec    0 sender
      
      After:
      [  5]   0.00-10.00  sec   578 MBytes   485 Mbits/sec    0 sender
      Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd762783
    • Horatiu Vultur's avatar
      net: lan966x: Don't read RX timestamp if not needed · ff89ac70
      Horatiu Vultur authored
      Whenever a frame was received to the CPU, the HW is timestamping the
      frame. In the IFH(Inter Frame Header) it is found the nanosecond part
      of the timestamps the SW is required to read from HW the second part.
      But reading the second part it seems to be a expensive operations, so
      so change this such to read the second part only when rx filter is
      enabled.
      Doing this change gives the RX a performance boost of ~70mbit.
      
      before:
      [  5]   0.00-10.01  sec   546 MBytes   457 Mbits/sec    0 sender
      
      now:
      [  5]   0.00-10.01  sec   652 MBytes   530 Mbits/sec    0 sender
      Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff89ac70