irdma_add_pd_table_entry(9)
π irdma_add_pd_table_entry β the manual, but make it cute
okay so bestie, welcome to the irdma_add_pd_table_entry(9) page from the Kernel API Manual β¨ this is the whole vibe, let's get into it π«Ά
πΈ NAME πΈ
irdma_add_pd_table_entry β literally adds a page descriptor to the specified table π
no cap, that's the whole job.
β¨ SYNOPSIS β¨
int irdma_add_pd_table_entry (struct irdma_sc_dev *dev , struct
irdma_hmc_info *hmc_info , u32 pd_index , struct irdma_dma_mem *rsrc_pg
);
like, that's the signature, copy it exactly pls, don't be weird about it π
π¦ ARGUMENTS π¦
devβ pointer to our device structure, the main character fr πhmc_infoβ pointer to the HMC configuration information structure, it's giving lore β¨pd_indexβ which page descriptor index to manipulate, i.e. which one you're messing with π―rsrc_pgβ if it's notNULL, use the preallocated page instead of allocating a new one. reuse slay π
π₯ DESCRIPTION π₯
so here's what this function actually does, step by step, no skipping π§
- Initializes the pd entry
- Adds
pd_entryin thepd_table - Mark the entry valid in
irdma_hmc_pd_entrystructure - Initializes the
pd_entry's ref count to1β yes, that's attached to step 4, that's just how it's written, periodt
assumptions: (read these, they're lowkey important π)
- The memory for pd should be pinned down, physically contiguous and aligned on 4K boundary and zeroed memory. all of that. every word π
- It should be 4K in size.
bestie I'm serious, if the memory isn't pinned, contiguous, 4K-aligned, zeroed AND 4K in size, that's on you, not on the function π
π SEE ALSO π
Kernel file ./drivers/infiniband/hw/irdma/hmc.c β that's where the actual source lives, iykyk π
and the whole friend group of related pages, all of them, in order, here we go:
irdma_find_sd_index_limit(9)irdma_find_pd_index_limit(9)irdma_set_sd_entry(9)irdma_clr_sd_entry(9)irdma_invalidate_pf_hmc_pd(9)irdma_hmc_sd_one(9)irdma_hmc_sd_grp(9)irdma_hmc_finish_add_sd_reg(9)irdma_sc_create_hmc_obj(9)irdma_finish_del_sd_reg(9)irdma_sc_del_hmc_obj(9)irdma_add_sd_table_entry(9)irdma_remove_pd_bp(9)irdma_prep_remove_sd_bp(9)irdma_prep_remove_pd_page(9)
π cute little sign-off: this page came from./drivers/infiniband/hw/irdma, dated October 2026, and it's filed underirdma_add_pd_table_entry(9). that's the whole footer, bestie, 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