irdma_remove_pd_bp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… irdma_remove_pd_bp β€” kernel API manual, but make it make sense ✨

okay so bestie, welcome to irdma_remove_pd_bp(9) πŸŽ€ this is a kernel API manual page (section 9, iykyk) and honestly? she's a little cleanup queen. let's get into it 🫢


🌸 NAME 🌸

irdma_remove_pd_bp β€” the girl whose whole job is removing a backing page from a page descriptor. that's it. that's the vibe πŸ’…


✨ SYNOPSIS ✨

int irdma_remove_pd_bp (struct irdma_sc_dev *dev , struct irdma_hmc_info
*hmc_info , u32 idx );

she takes three things and returns an int, no cap πŸ”₯


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” pointer to our HW structure, aka the hardware bestie herself πŸ’–
  • hmc_info β€” pointer to the HMC configuration information structure, all the config deets live here πŸŽ€
  • idx β€” the page index, literally just which page we're talking about ⭐

πŸ‘‘ DESCRIPTION πŸ‘‘

the way that this function does exactly three things, in order, periodt:

  1. marks the entry in the pd table (that's for paged address mode) or in the sd table (that's for direct address mode) as invalid πŸ’€
  2. writes to the register PMPDINV to invalidate the backing page in FV cache πŸ”₯
  3. decrements the ref count for the pd _entry 🌈

and the assumptions (yes, plural, but there's one entry, don't come for me πŸ™ˆ):

  1. the caller can deallocate the memory used by backing storage after this function returns. so like, after. not before. after 🫢

πŸ’œ SEE ALSO πŸ’œ

kernel file ./drivers/infiniband/hw/irdma/hmc.c β€” the source of truth, go read her:


ngl bestie, the whole backing-storage deallocation thing is a real caveat, not a vibe: only free that memory after irdma_remove_pd_bp hands control back to you. sequencing matters, fr fr 😭

and that's the page! she lives in ./drivers/infiniband/hw/irdma, dated October 2026, and she's part of the kernel API manual. mwah, go slay your HMC cleanup πŸ’…πŸ’–πŸŽ€πŸ¦‹πŸŒΈβœ¨

πŸ“¦ where this page comes from