irdma_sc_alloc_stag(9)
π
irdma_sc_alloc_stag β Kernel API Manual β¨
okay so bestie, welcome to the glamorous world of memory-region STAG allocation in the irdma driver. this page is part of the Kernel API Manual, and it's basically the "reserve me a spot in the table" moment for a memory region (MR). no cap, it's a small function with big main-character energy π
πΈ NAME πΈ
irdma_sc_alloc_stag β mr stag alloc π
literally it's the memory-region STAG allocator. that's the whole vibe.
π¦ SYNOPSIS π¦
int irdma_sc_alloc_stag (struct irdma_sc_dev *dev , struct
irdma_allocate_stag_info *info , u64 scratch , bool post_sq );
it returns an int, bestie. that's your vibe check on whether things worked π«
β¨ ARGUMENTS β¨
devβ the sc device struct π₯οΈ β your whole device situation, passed in asstruct irdma_sc_dev *.infoβ stag info π β astruct irdma_allocate_stag_info *carrying all the STAG details. it's giving "paperwork but make it C".scratchβu64saved to be used during cqp completion ποΈ β you stash this now, and it comes back to hang out later when the CQP completes. lowkey iconic of it.post_sqβ flag for cqp db to ring π β aboolthat says whether the CQP doorbell should ring. yes ma'am, ring it.
π SEE ALSO π
first up, the source file, because yk we gotta cite our sources:
- Kernel file
./drivers/infiniband/hw/irdma/ctrl.cπ
and now, the iconic extended universe of related pages β buckle up bestie, this list is long and it ate π :
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_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),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)
π«Ά that's the whole page, bestie. every flag, every arg, every single reference β all accounted for. you're so welcome π
and that's a wrap on this little irdma_sc_alloc_stag(9) moment π β brought to you straight out of ./drivers/infiniband/hw/irdma, dated October 2026. go allocate those STAGs, queen. 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