irdma_mmap(9)
π
irdma_mmap(9) β user memory map π
okay so real talk, bestie: this is a page straight out of the Kernel API Manual, and it's basically the tiny little doorway that lets userspace peek at driver memory. it's short, it's sweet, and it absolutely ate. let's get into it β¨
πΈ SYNOPSIS πΈ
int irdma_mmap (struct ib_ucontext *context , struct vm_area_struct *vma
);
that's the whole vibe. one function, two args, returns an int. no cap. π
π ARGUMENTS π
contextβ bestie this is the context that was created duringalloc. like, the one you already made earlier. you can't just roll up with a random one, it's giving "you must be on the list" energy πvmaβ the kernel info for the user memory map. that's the kernel-side paperwork for the mapping, and it's literally the whole point of the call π¦
π SEE ALSO π
first off, the kernel file to go look at is ./drivers/infiniband/hw/irdma/verbs.c β that's the mothership, go say hi π
and then, because this driver has so many friends, here's the full squad (in the original order, obviously, we do not shuffle the group chat):
irdma_query_device(9),irdma_query_port(9),irdma_disassociate_ucontext(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_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)
likeβ¦ that is a lot of friends. main character has main character friends, periodt π
ngl there's no OPTIONS section and no exit status section on this one β it's a short page, and we're not gonna invent lore that isn't there. every fact above is everything the page gives you π«Ά
mwah, that's the page!! this little cutie lives over in ./drivers/infiniband/hw/irdma, and the copy you're reading is dated October 2026 β so go forth, map that memory, and remember: irdma_mmap(9) said what it said ππβ¨
π¦ 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