irdma_create_hmc_objs(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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