1. 29 Aug, 2016 1 commit
    • Saeed Mahameed's avatar
      net/mlx5e: Limit UMR length to the device's limitation · fe4c988b
      Saeed Mahameed authored
      ConnectX-4 UMR (User Memory Region) MTT translation table offset in WQE
      is limited to U16_MAX, before this patch we ignored that limitation and
      requested the maximum possible UMR translation length that the netdev
      might need (MAX channels * MAX pages per channel).
      In case of a system with #cores > 32 and when linear WQE allocation fails,
      falling back to using UMR WQEs will cause the RQ (Receive Queue) to get
      stuck.
      
      Here we limit UMR length to min(U16_MAX, max required pages) (while
      considering the required alignments) on driver load, by default U16_MAX is
      sufficient since the default RX rings value guarantees that we are in
      range, dynamically (on set_ringparam/set_channels) we will check if the
      new required UMR length (num mtts) is still in range, if not, fail the
      request.
      
      Fixes: bc77b240 ('net/mlx5e: Add fragmented memory support for RX multi packet WQE')
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fe4c988b
  2. 27 Aug, 2016 3 commits
  3. 26 Aug, 2016 3 commits
  4. 25 Aug, 2016 7 commits
  5. 24 Aug, 2016 10 commits
  6. 23 Aug, 2016 9 commits
  7. 22 Aug, 2016 7 commits