irdma_setup_pbles(9)
π irdma_setup_pbles β like, the manual page manual page π
okay so bestie, welcome to irdma_setup_pbles(9), part of the Kernel API Manual. Yes we're in the kernel, yes it's giving big-brain hours, and yes you're gonna get it. Let's go π
β¨ NAME β¨
irdma_setup_pbles β copy user pg address to pble's π¦
Like, it literally takes the user's page addresses and copies them into the pble's. That's the whole vibe. No cap.
πΈ SYNOPSIS πΈ
int irdma_setup_pbles (struct irdma_pci_f *rf , struct irdma_mr *iwmr ,
u8 lvl );
periodt. that's the signature, copy it exactly, don't be weird about it π
π ARGUMENTS π
rfβ the RDMA PCI function. main character energy right here, it's the function struct everything hangs off of πiwmrβ the mr pointer for this memory registration. yes, this specific one, it's not like other mr pointers β¨lvlβ the requested pble levels. you're asking for levels, bestie, and it's au8so likeβ¦ be reasonable π
π SEE ALSO π
okay this list is long long, like an absolute icon, so I'm giving it to you verbatim, all of it, no skips, no "etc." β the kernel file is ./drivers/infiniband/hw/irdma/verbs.c and here's the whole squad:
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_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)
see? every single one. ate and left no crumbs π«Ά Note the sneaky little _irdma_destroy_qp(9) and __irdma_poll_cq(9) in there β the underscores are load-bearing, bestie, don't you dare trim them π
lowkey this page is short but she's still an icon. go read ./drivers/infiniband/hw/irdma/verbs.c if you want the real tea β
and that's the whole thing, mwah π this lil drop came out of the ./drivers/infiniband/hw/irdma corner of the tree, dated October 2026, and it's filed under irdma_setup_pbles(9). slay, go forth and register memory responsibly π
π¦ 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