pub static RDMA_MAX_NICS_PER_BUFFER: Key<Option<NonZeroUsize>>Expand description
How many NICs a buffer is registered on, at most. None, the default,
sets no limit: every equally good NIC serves the buffer. An empty
environment value parses to None.
Depending on where in memory a buffer lives, there may be many NICs that would be equally good for serving it. Registering the buffer on each NIC improves flexibility and provides performance optimization opportunities, but comes at the cost of an expensive memory registration per NIC. This config attribute lets the user tune this tradeoff.
When multiple optimal NICs are available for a buffer, selecting
among them depends on RDMA_PEER_DEVICE_AFFINITY:
any: first chosen at random, then the rest are taken lexicographically starting from the first.match_name: taken lexicographically.groups: round robin across groups, taken lexicographically within each group (sogroups:nic0,nic1|nic2,nic3withRDMA_MAX_NICS_PER_BUFFER = 2would choosenic0andnic2).
A manager pinned to one device by RDMA_IBVERBS_TARGET registers
there and ignores this.