irdma_setup_pbles(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 a u8 so 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