irdma_set_lo...c_rsrc_gen_3(9)
π irdma_set_loc_hmc_rsrc_gen_3(9) β from the Kernel API Manual β¨
okay so bestie, buckle up π this one's a little kernel-API deep-dive from the Kernel API Manual, and honestly? it's giving "short but important." no cap. it's irdma_set_loc_hmc_rsrc_gen_3, and it does exactly one (1) job, but it does it well. periodt. π
β¨ NAME β¨
irdma_set_loc_hmc_rsrc_gen_3 β literally just calculating hmc resources for gen 3 π§
that's it. that's the whole vibe. gen 3 hmc resource math, and nothing else. iconic behaviour honestly.
πΈ SYNOPSIS πΈ
int irdma_set_loc_hmc_rsrc_gen_3 (struct irdma_sc_dev *dev , u32
max_pages , u32 qpwanted );
so she returns an int, she takes a struct irdma_sc_dev *, and then two u32s: max_pages and qpwanted. keep the spacing exactly like that btw β that's how the page has it, we don't "fix" things around here π«Ά
π ARGUMENTS π
devβ the sc device struct. your main character. everything hangs off her πmax_pagesβ the max local memory available. like, the budget. the ceiling. the limit. respect it πqpwantedβ the number of qp's wanted. yes, "wanted." like a wanted poster. how many QPs do you want, bestie π
π¦ SEE ALSO π¦
okay so this list is LONG and we are NOT skipping it, because every single one of these is part of the family πβ¨ also: Kernel file ./drivers/infiniband/hw/irdma/ctrl.c β that's where the source lives, go say hi π
irdma_get_qp_from_list(9)irdma_sc_suspend_resume_qps(9)irdma_change_l2params(9)irdma_qp_rem_qos(9)irdma_qp_add_qos(9)irdma_sc_pd_init(9)irdma_sc_add_arp_cache_entry(9)irdma_sc_del_arp_cache_entry(9)irdma_sc_manage_apbvt_entry(9)irdma_sc_manage_qhash_table_entry(9)irdma_sc_qp_init(9)irdma_sc_srq_init(9)irdma_sc_srq_create(9)irdma_sc_srq_modify(9)irdma_sc_srq_destroy(9)irdma_sc_qp_create(9)irdma_sc_qp_modify(9)irdma_sc_qp_destroy(9)irdma_sc_get_encoded_ird_size(9)irdma_sc_qp_setctx_roce_gen_2(9)irdma_sc_get_encoded_ird_size_gen_3(9)irdma_sc_qp_setctx_roce_gen_3(9)irdma_sc_add_local_mac_entry(9)irdma_sc_del_local_mac_entry(9)irdma_sc_qp_setctx(9)irdma_sc_alloc_stag(9)irdma_sc_mr_reg_non_shared(9)irdma_sc_dealloc_stag(9)irdma_sc_mw_alloc(9)irdma_sc_mr_fast_register(9)irdma_sc_gen_rts_ae(9)irdma_sc_send_lsmm(9)irdma_sc_send_rtt(9)irdma_iwarp_opcode(9)irdma_locate_mpa(9)irdma_bld_termhdr_ctrl(9)irdma_bld_termhdr_ddp_rdma(9)irdma_bld_terminate_hdr(9)irdma_terminate_send_fin(9)irdma_terminate_connection(9)irdma_terminate_received(9)irdma_sc_vsi_init(9)irdma_get_stats_idx(9)irdma_hw_stats_init_gen1(9)irdma_vsi_stats_init(9)irdma_vsi_stats_free(9)irdma_get_encoded_wqe_size(9)irdma_sc_gather_stats(9)irdma_sc_manage_stats_inst(9)irdma_sc_set_up_map(9)irdma_sc_manage_ws_node(9)irdma_sc_qp_flush_wqes(9)irdma_sc_gen_ae(9)irdma_sc_manage_push_page(9)irdma_sc_suspend_qp(9)irdma_sc_resume_qp(9)irdma_sc_cq_init(9)irdma_sc_cq_create(9)irdma_sc_cq_destroy(9)irdma_sc_cq_resize(9)irdma_sc_cq_modify(9)irdma_sc_get_decoded_ird_size_gen_3(9)irdma_check_cqp_progress(9)irdma_get_cqp_reg_info(9)irdma_sc_cqp_def_cmpl_ae_handler(9)irdma_sc_cqp_cleanup_handler(9)irdma_cqp_poll_registers(9)irdma_sc_decode_fpm_commit(9)irdma_sc_parse_fpm_commit_buf(9)irdma_sc_decode_fpm_query(9)irdma_sc_parse_fpm_query_buf(9)irdma_sc_cqp_init(9)irdma_sc_cqp_create(9)irdma_sc_cqp_post_sq(9)irdma_sc_cqp_get_next_send_wqe_idx(9)irdma_sc_cqp_destroy(9)irdma_sc_ccq_arm(9)irdma_sc_process_def_cmpl(9)irdma_sc_process_ooo_cmpl(9)irdma_sc_ccq_get_cqe_info(9)irdma_sc_poll_for_cqp_op_done(9)irdma_sc_manage_hmc_pm_func_table(9)irdma_sc_commit_fpm_val_done(9)irdma_sc_commit_fpm_val(9)irdma_sc_query_fpm_val_done(9)irdma_sc_query_fpm_val(9)irdma_sc_ceq_init(9)irdma_sc_ceq_create(9)irdma_sc_cceq_create_done(9)irdma_sc_cceq_destroy_done(9)irdma_sc_cceq_create(9)irdma_sc_ceq_destroy(9)irdma_sc_process_ceq(9)irdma_sc_cleanup_ceqes(9)irdma_sc_aeq_init(9)irdma_sc_aeq_create(9)irdma_sc_aeq_destroy(9)irdma_sc_get_next_aeqe(9)irdma_sc_repost_aeq_entries(9)irdma_sc_ccq_init(9)irdma_sc_ccq_create_done(9)irdma_sc_ccq_create(9)irdma_sc_ccq_destroy(9)irdma_sc_init_iw_hmc(9)irdma_set_loc_mem(9)irdma_sc_cfg_iw_fpm(9)cqp_sds_wqe_fill(9)irdma_update_pe_sds(9)irdma_update_sds_noccq(9)irdma_sc_static_hmc_pages_allocated(9)irdma_cqp_ring_full(9)irdma_est_sd(9)irdma_sc_query_rdma_features(9)irdma_get_rdma_features(9)irdma_get_rsrc_mem_config(9)irdma_cfg_sd_mem(9)irdma_get_objs_pages(9)irdma_set_host_hmc_rsrc_gen_3(9)irdma_verify_commit_fpm_gen_3(9)cfg_fpm_value_gen_3(9)irdma_cfg_fpm_val(9)irdma_exec_cqp_cmd(9)irdma_process_cqp_cmd(9)irdma_process_bh(9)irdma_cfg_aeq(9)sc_vsi_update_stats(9)irdma_wait_pe_ready(9)irdma_sc_dev_init(9)irdma_stat_val(9)irdma_stat_delta(9)irdma_update_stats(9)
like, that's the whole extended friend group right there π slay that they all got mentioned fr fr.
also lowkey β this whole page lives under ./drivers/infiniband/hw/irdma, dated October 2026, and yes the doc source and version line is exactly that. so if you're looking for where this came from, that's the receipt π§Ύβ¨
and that's the page bestie!! short, sweet, hmc-resource-calculating, gen-3-coded ππ¦ okay love u bye π«Άπ 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