Skip to content
Snippets Groups Projects
  1. Nov 16, 2021
  2. Oct 29, 2021
  3. Oct 28, 2021
  4. Oct 13, 2021
  5. Oct 12, 2021
  6. Aug 24, 2021
  7. Aug 19, 2021
  8. Aug 03, 2021
  9. Jun 21, 2021
  10. Jun 16, 2021
  11. Jun 02, 2021
  12. May 28, 2021
  13. May 11, 2021
  14. Apr 22, 2021
  15. Apr 13, 2021
  16. Apr 12, 2021
  17. Apr 07, 2021
  18. Apr 01, 2021
  19. Mar 26, 2021
    • Bhaskar Chowdhury's avatar
    • Mark Bloch's avatar
      RDMA: Support more than 255 rdma ports · 1fb7f897
      Mark Bloch authored
      Current code uses many different types when dealing with a port of a RDMA
      device: u8, unsigned int and u32. Switch to u32 to clean up the logic.
      
      This allows us to make (at least) the core view consistent and use the
      same type. Unfortunately not all places can be converted. Many uverbs
      functions expect port to be u8 so keep those places in order not to break
      UAPIs.  HW/Spec defined values must also not be changed.
      
      With the switch to u32 we now can support devices with more than 255
      ports. U32_MAX is reserved to make control logic a bit easier to deal
      with. As a device with U32_MAX ports probably isn't going to happen any
      time soon this seems like a non issue.
      
      When a device with more than 255 ports is created uverbs will report the
      RDMA device as having 255 ports as this is the max currently supported.
      
      The verbs interface is not changed yet because the IBTA spec limits the
      port size in too many places to be u8 and all applications that relies in
      verbs won't be able to cope with this change. At this stage, we are
      extending the interfaces that are using vendor channel solely
      
      Once the limitation is lifted mlx5 in switchdev mode will be able to have
      thousands of SFs created by the device. As the only instance of an RDMA
      device that reports more than 255 ports will be a representor device and
      it exposes itself as a RAW Ethernet only device CM/MAD/IPoIB and other
      ULPs aren't effected by this change and their sysfs/interfaces that are
      exposes to userspace can remain unchanged.
      
      While here cleanup some alignment issues and remove unneeded sanity
      checks (mainly in rdmavt),
      
      Link: https://lore.kernel.org/r/20210301070420.439400-1-leon@kernel.org
      
      
      Signed-off-by: default avatarMark Bloch <mbloch@nvidia.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      1fb7f897
  20. Mar 23, 2021
  21. Mar 12, 2021
  22. Mar 11, 2021
  23. Mar 10, 2021
Loading