irdma_create_hmc_objs(9)
π
irdma_create_hmc_objs β like, the Kernel API Manual page, bestie β¨
okay so picture this: you're deep in the Kernel API Manual and you bump into irdma_create_hmc_objs β yes that's the whole title, it's giving very "long function name, no notes" π. Anyway, she's the one who spins up all the hmc objects for the device, and we're gonna walk through her together, no cap π«Ά
πΈ NAME πΈ
irdma_create_hmc_objs β literally creates every single hmc object for the device, iconic behavior π
β¨ SYNOPSIS β¨
int irdma_create_hmc_objs (struct irdma_pci_f *rf , bool privileged ,
enum irdma_vers vers );
π ARGUMENTS π
rfβ the RDMA PCI function, like the main character of this whole operation πprivilegedβ your permission to create HMC objects, so basically the vibe check on whether you're allowed in πͺͺversβ the HW version, gotta know what hardware we're dealing with π§
π DESCRIPTION π
So what does she actually do? She creates the device hmc objects and allocates hmc pages. That's the whole assignment and she ate π₯
Return 0 if it all works out β slay. Otherwise? She cleans up after herself and returns an error, because she's not about to leave a mess behind ππ
π¦ SEE ALSO π¦
Bestie, the friend group is huge, buckle up π
Kernel file ./drivers/infiniband/hw/irdma/hw.c
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_obj_aligned_mem(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)
and that's the whole page, bestie β go forth and create those hmc objects π
shoutout to ./drivers/infiniband/hw/irdma for housing all of this, dated October 2026, and to irdma_create_hmc_objs(9) herself β she's the moment, she's the legend, periodt πβ¨
π¦ 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