irdma_get_rsrc_mem_config(9)
π irdma_get_rsrc_mem_config(9) β the "where do the MRs live" glow-up
okay bestie, welcome to the Kernel API Manual page for irdma_get_rsrc_mem_config(9). yes it's a kernel function, yes we're gonna get through it together, and yes you're gonna understand the memory layout by the end. periodt. π«Ά
β¨ NAME β¨
irdma_get_rsrc_mem_config β the lil function that configures resources when we're dealing with local memory (or host memory, it's giving options π
)
πΈ SYNOPSIS πΈ
void irdma_get_rsrc_mem_config (struct irdma_sc_dev *dev , bool
is_mrte_loc_mem );
ngl she returns void, so there's no "did it work" little treat waiting for you at the end. she just does the thing. main character energy. β¨
π ARGUMENTS π
devβ the sc device struct, aka the whole vibe of the device, she's the context, she's the moment π¦is_mrte_loc_memβ abool, and if it'struethen the MR's are to be in local memory, becausesd=locpages. iykyk π₯
π DESCRIPTION π
okay so here's the tea β β the way this works is only mr can be configured to be in host memory or local memory, and that's only when the qp's are in local memory. literally only the MR gets to pick a side π
and if the qp is in local memory? then all resource objects are gonna be in local memory too β every single one β except mr, which is the one main character who can be either host or local memory. she contains multitudes π
the one exception to the exception (yes, it's giving nested plot twists π) is pble's, which are always in host memory. no debate, no negotiation, host memory, periodt. π
π SEE ALSO π
lowkey the whole kernel file lives at ./drivers/infiniband/hw/irdma/ctrl.c β go read her, she's iconic π
and here's the full squad of related pages, no cap, every single one of them:
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_cfg_sd_mem(9), irdma_get_objs_pages(9), irdma_set_host_hmc_rsrc_gen_3(9), irdma_verify_commit_fpm_gen_3(9), irdma_set_loc_hmc_rsrc_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)
π§ friendly reminder bestie: pble's are always in host memory. don't come for me, that's just the lore.
okay that's the whole page, you ate that π
source/version vibes come from ./drivers/infiniband/hw/irdma and this lil baby is dated October 2026 πΈ and yes, the page is irdma_get_rsrc_mem_config(9) in case you forgot already π ily, go read some more manpages π«Άπβ¨
π¦ 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