irdma_obj_aligned_mem(9)
π irdma_obj_aligned_mem(9) π
okay so bestie, welcome to the irdma_obj_aligned_mem page from the Kernel API Manual β yes this is a section 9 girlie and she is very niche but honestly kind of iconic. Let's get into it π
β¨ NAME β¨
irdma_obj_aligned_mem β get aligned memory from device allocated memory π«Ά
β¨ SYNOPSIS β¨
int irdma_obj_aligned_mem (struct irdma_pci_f *rf , struct irdma_dma_mem
*memptr , u32 size , u32 mask );
like, that's the whole vibe. one function. four arguments. no cap π
β¨ ARGUMENTS β¨
rfβ this one is the RDMA PCI function πΈmemptrβ points to the memory addresses (it's a pointer to the pointer energy, iykyk) β¨sizeβ the size of memory you actually need, in all itsu32glorymaskβ the mask for the aligned memory, which is doing the alignment work behind the scenes β
β¨ DESCRIPTION β¨
So what does she do? She gets you aligned memory of the requested size, and then she updates the memptr so it points to that new aligned memory. Literally her whole job. Main character energy π₯
And the return? Return 0 if it's successful, otherwise return the no-memory error π (yes that's a real outcome, keep an eye out for it ngl).
not me needing to remind you: the memptr gets updated β it's pointing somewhere new after this call, so don't be surprised girlie π
β¨ SEE ALSO β¨
the kernel file lives at ./drivers/infiniband/hw/irdma/hw.c π
and here's the whole friend group, fr fr β every single one of them:
irdma_iwarp_ce_handler(9)irdma_puda_ce_handler(9)irdma_process_normal_ceqe(9)irdma_process_reserved_ceqe(9)irdma_process_ceq(9)irdma_complete_cqp_request(9)irdma_process_ae_def_cmpl(9)irdma_process_aeq(9)irdma_ena_intr(9)irdma_dpc(9)irdma_ceq_dpc(9)irdma_save_msix_info(9)irdma_irq_handler(9)irdma_ceq_handler(9)irdma_destroy_irq(9)irdma_destroy_cqp(9)irdma_destroy_aeq(9)irdma_destroy_ceq(9)irdma_del_ceq_0(9)irdma_del_ceqs(9)irdma_destroy_ccq(9)irdma_close_hmc_objects_type(9)irdma_del_hmc_objects(9)irdma_create_hmc_obj_type(9)irdma_create_hmc_objs(9)irdma_create_cqp(9)irdma_create_ccq(9)irdma_alloc_set_mac(9)irdma_cfg_ceq_vector(9)irdma_cfg_aeq_vector(9)irdma_create_ceq(9)irdma_setup_ceq_0(9)irdma_setup_ceqs(9)irdma_create_aeq(9)irdma_setup_aeq(9)irdma_initialize_ilq(9)irdma_initialize_ieq(9)irdma_reinitialize_ieq(9)irdma_hmc_setup(9)irdma_del_init_mem(9)irdma_initialize_dev(9)irdma_rt_deinit_hw(9)irdma_get_used_rsrc(9)irdma_rt_init_hw(9)irdma_ctrl_init_hw(9)irdma_set_hw_rsrc(9)irdma_calc_mem_rsrc_size(9)irdma_initialize_hw_rsrc(9)irdma_cqp_ce_handler(9)cqp_compl_worker(9)irdma_lookup_apbvt_entry(9)irdma_next_iw_state(9)irdma_del_local_mac_entry(9)irdma_add_local_mac_entry(9)irdma_alloc_local_mac_entry(9)irdma_cqp_manage_apbvt_cmd(9)irdma_add_apbvt(9)irdma_del_apbvt(9)irdma_manage_arp_cache(9)irdma_send_syn_cqp_callback(9)irdma_manage_qhash(9)irdma_hw_flush_wqes_callback(9)irdma_hw_flush_wqes(9)irdma_gen_ae(9)
that's the page, bestie π this little gem lives in the source tree at ./drivers/infiniband/hw/irdma, it's dated October 2026, and it answers to the name irdma_obj_aligned_mem(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