ib_umem_find_best_pgsz(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 β€” the umem struct. 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:


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