rdma-core
rdma-core copied to clipboard
providers/irdma: Handle OS page size of 64k
The allocation of IRDMA_MEMREG_TYPE_QP needs to be aligned to the OS page size to allow for sharing the SQ area between the kernel iwarp cm processing and user SQ posts. The kernel code stores the struct page pointer for later use, so the allocation must be aligned to the OS page size.
Use sysconf to get the OS page size and add a new allocator and use that for iwarp IRDMA_MEMREG_TYPE_QP allocations. The old allocator is now a wrapper that is used for all other call sites.