irdma_alloc_ucontext(9)
π irdma_alloc_ucontext(9) β the "who dis?" of user contexts π
okay so this is a page from the Kernel API Manual (section 9, kernel API, yes bestie we're in the big leagues) and it's about exactly one function. one function! and honestly? she's kind of a big deal because she's the first thing that happens when a user-mode client shows up. π«Ά
β¨ NAME β¨
irdma_alloc_ucontext β allocate the user context data structure πΈ
like, literally. that's the whole job. allocate the thing.
β¨ SYNOPSIS β¨
int irdma_alloc_ucontext (struct ib_ucontext *uctx , struct ib_udata *udata );
two pointers in, one int out. she's lowkey efficient like that π
β¨ ARGUMENTS β¨
uctxβ the uverbs context pointer. this is the main character of the whole operation, the one we're actually setting up πudataβ user data. coming straight from userspace, as user data does π
β¨ DESCRIPTION β¨
so what does this actually do, you're asking? it keeps track of, and i quote the vibe, all objects associated with a particular user-mode client. π
that's it. that's the description. every single object that belongs to one specific user-mode client gets tracked here. one context, one client, everything accounted for, no cap. it's giving "label your stuff or lose your stuff" energy and honestly more kernel code should be this direct π¦
β¨ SEE ALSO β¨
okay bestie, breathe. this list is long long. the source file lives at ./drivers/infiniband/hw/irdma/verbs.c (the page calls it "Kernel file" and we're keeping that, periodt), and here is every single cross-reference, in order, no skipping, no summarising, i would never do that to you π
irdma_query_device(9), irdma_query_port(9), irdma_disassociate_ucontext(9), irdma_mmap(9), irdma_alloc_push_page(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_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), 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)
note that_irdma_destroy_qp(9)and__irdma_poll_cq(9)really do have those leading underscores β that's not me being messy, that's the actual names, keep them exactly like that π₯
and that's the whole list!! every last one. ate and left no crumbs π
cute little sign-off π
this fine piece of documentation ships out of ./drivers/infiniband/hw/irdma, dated October 2026. yes, October 2026 β she's from the future, she's booked and busy, and she's still tracking your objects. 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