ib_umem_find_best_pgsz(9)
π ib_umem_find_best_pgsz(9) π
okay bestie, this is the Kernel API Manual page for ib_umem_find_best_pgsz(9), and it's literally the "which HW page size is best for this MR" helper. We're gonna keep all the deets, no cap. π«Ά
πΈ NAME πΈ
ib_umem_find_best_pgsz β Find best HW page size to use for this MR β¨
β¨ SYNOPSIS β¨
unsigned long ib_umem_find_best_pgsz (struct ib_umem *umem , unsigned
long pgsz_bitmap , u64 virt );
π ARGUMENTS π
umemβ theumemstruct. That's it, that's the vibe. πpgsz_bitmapβ a bitmap of HW supported page sizes. Like the menu of page sizes your hardware can serve. πvirtβ the IOVA. π
π¦ DESCRIPTION π¦
This helper is intended for HW that can juggle multiple page sizes but can do only a single page size in an MR. It's giving "pick one, bestie" energy. π
It returns 0 if the umem requires page sizes not supported by the driver to be mapped. So a 0 is the "nope, can't map this with the sizes your driver supports" result. π
Drivers always supporting PAGE_SIZE or smaller will never see a 0 result. Iconic, honestly. π
π SEE ALSO π
Kernel file ./drivers/infiniband/core/umem.c β go read the source, bestie:
ib_umem_get_desc(9)ib_umem_get_attr(9)ib_umem_get_attr_or_va(9)ib_umem_get_cq_buf(9)ib_umem_get_cq_buf_or_va(9)ib_umem_release(9)
okay that's the whole page! source/version vibe: ./drivers/infiniband/core; dated October 2026; page: ib_umem_find_best_pgsz(9). mwah ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms