irdma_post_send(9)
πΈ irdma_post_send β the manual, but make it make sense πΈ
okay so bestie, we're in the Kernel API Manual today π
and this page is all about irdma_post_send(9) β one little function that's about to be your whole personality. no cap, it's giving "tiny signature, big responsibilities". let's get into it π₯
β¨ NAME β¨
irdma_post_send β kernel application wr
that's it. that's the whole name section. short and iconic π
π¦ SYNOPSIS π¦
here's the signature, copied exactly because we do not play with prototypes in this house:
int irdma_post_send (struct ib_qp *ibqp , const struct ib_send_wr *ib_wr
, const struct ib_send_wr **bad_wr );
yes the comma is on the next line. no we're not fixing it. it's in its era π
π ARGUMENTS π
three args, three vibe checks, let's go:
ibqpβ qp ptr for wr π«Ά (that's the qp pointer your work request is riding with)ib_wrβ work request ptr β¨ (the actual work request pointer, the star of the show)bad_wrβ return of bad wr if err π (if something goes wrong, the bad work request gets handed back to you through this)
literally three params and each one has a job. respect the trio π
π SEE ALSO π
first off, the source of truth lives right here β kernel file ./drivers/infiniband/hw/irdma/verbs.c πΈ so if you want the real real, that's the address.
and thenβ¦ okay bestie, brace yourself, because this list is long long. iykyk. every single one, in order, no skipping, because i would never do you like that π
irdma_query_device(9)irdma_query_port(9)irdma_disassociate_ucontext(9)irdma_mmap(9)irdma_alloc_push_page(9)irdma_alloc_ucontext(9)irdma_dealloc_ucontext(9)irdma_alloc_pd(9)irdma_dealloc_pd(9)irdma_get_pbl(9)irdma_clean_cqes(9)_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)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)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)irdma_hw_alloc_mw(9)irdma_alloc_mw(9)irdma_dealloc_mw(9)irdma_hw_alloc_stag(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)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)irdma_alloc_hw_port_stats(9)irdma_get_hw_stats(9)irdma_query_gid(9)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)irdma_ah_exists(9)irdma_destroy_ah(9)irdma_create_user_ah(9)irdma_create_ah(9)irdma_query_ah(9)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 extended friend group and you're gonna meet all of them eventually π§π«
π the cute sign-off π
this little love letter lives over in ./drivers/infiniband/hw/irdma, and it's stamped October 2026 β β so go forth, post that send, and may your bad_wr always be NULL ππ 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