irdma_hw_alloc_stag(9)
π irdma_hw_alloc_stag β from the Kernel API Manual, bestie β¨
okay so picture this: you're deep in the kernel, you need a stag allocated, and there's exactly one cute little function for that. bestie, meet irdma_hw_alloc_stag β the cqp command that gets your stag allocated. no cap, that's literally the whole name description. π
πΈ NAME πΈ
irdma_hw_alloc_stag β cqp command to allocate stag π
β¨ SYNOPSIS β¨
int irdma_hw_alloc_stag (struct irdma_device *iwdev , struct irdma_mr
*iwmr );
that's it. that's the whole signature. two pointers and an int. iconic behavior honestly π«Ά
π¦ ARGUMENTS π¦
iwdevβ the irdma device, aka your main character. it's astruct irdma_device *and yes she's required πiwmrβ the irdma mr pointer, astruct irdma_mr *. this is the memory region bestie you're doing all this for πΈ
π SEE ALSO π
the kernel file ./drivers/infiniband/hw/irdma/verbs.c is where all this lives, and it comes with an entire friend group of manpages (9)-section icons β ngl this list is a whole roster, so buckle up π’:
- device & port basics:
irdma_query_device(9),irdma_query_port(9),irdma_disassociate_ucontext(9),irdma_mmap(9) - contexts & push pages:
irdma_alloc_push_page(9),irdma_alloc_ucontext(9),irdma_dealloc_ucontext(9) - protection domains:
irdma_alloc_pd(9),irdma_dealloc_pd(9) - pbl & cqe cleanup:
irdma_get_pbl(9),irdma_clean_cqes(9) - queue pairs:
_irdma_destroy_qp(9),irdma_destroy_qp(9),irdma_setup_virt_qp(9),irdma_setup_umode_qp(9),irdma_setup_kmode_qp(9),irdma_create_qp(9),irdma_query_qp(9),irdma_query_pkey(9),irdma_modify_qp_roce(9),irdma_modify_qp(9) - srq / cq crew:
irdma_srq_free_rsrc(9),irdma_cq_free_rsrc(9),irdma_free_cqbuf(9),irdma_process_resize_list(9),irdma_destroy_srq(9),irdma_destroy_cq(9),irdma_resize_cq(9),irdma_srq_event(9),irdma_modify_srq(9),irdma_create_srq(9),irdma_query_srq(9),irdma_create_cq(9) - mr / stag / pbl lore:
irdma_get_mr_access(9),irdma_free_stag(9),irdma_create_stag(9),irdma_next_pbl_addr(9),irdma_copy_user_pgaddrs(9),irdma_check_mem_contiguous(9),irdma_check_mr_contiguous(9),irdma_setup_pbles(9),irdma_handle_q_mem(9) - memory windows & memory regions:
irdma_hw_alloc_mw(9),irdma_alloc_mw(9),irdma_dealloc_mw(9),irdma_alloc_mr(9),irdma_set_page(9),irdma_map_mr_sg(9),irdma_hwreg_mr(9),irdma_reg_user_mr(9),irdma_reg_phys_mr(9),irdma_get_dma_mr(9),irdma_del_memlist(9),irdma_dereg_mr(9) - sending, receiving & polling:
irdma_post_send(9),irdma_post_srq_recv(9),irdma_post_recv(9),irdma_flush_err_to_ib_wc_status(9),irdma_process_cqe(9),irdma_poll_one(9),__irdma_poll_cq(9),irdma_poll_cq(9),irdma_req_notify_cq(9) - stats & gids:
irdma_alloc_hw_port_stats(9),irdma_get_hw_stats(9),irdma_query_gid(9) - multicast moment:
mcast_list_add(9),mcast_list_del(9),mcast_list_lookup_ip(9),irdma_mcast_cqp_op(9),irdma_mcast_mac(9),irdma_attach_mcast(9),irdma_detach_mcast(9) - address handles:
irdma_ah_exists(9),irdma_destroy_ah(9),irdma_create_user_ah(9),irdma_create_ah(9),irdma_query_ah(9) - device init & registration:
irdma_init_roce_device(9),irdma_init_iw_device(9),irdma_init_rdma_device(9),irdma_port_ibevent(9),irdma_ib_unregister_device(9),irdma_ib_register_device(9),irdma_ib_dealloc_device(9)
like, that's the whole verbs.c extended universe, fr fr π
ok that's the page!! it came from./drivers/infiniband/hw/irdma, it's dated October 2026, and it answers to the nameirdma_hw_alloc_stag(9)β go forth and allocate that stag, bestie ππ§ββοΈ
π¦ 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