irdma_get_rsrc_mem_config(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 β€” a bool, and if it's true then the MR's are to be in local memory, because sd=loc pages. 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