ib_destroy_qp(9)
π ib_destroy_qp β the Kernel API Manual glow-up π
okay bestie, so this is the ib_destroy_qp(9) page from the Kernel API Manual, and honestly? it's short, it's sweet, it's giving "one job and she does it." no cap.
β¨ NAME β¨
ib_destroy_qp β destroys the specified kernel QP. that's it. that's the whole vibe. π
πΈ SYNOPSIS πΈ
int ib_destroy_qp (struct ib_qp *qp );
literally one function, one arg, and a whole lot of closure energy π₯
π ARGUMENTS π
qpβ the QP to destroy. the main character of this whole page, the one getting yeeted. she's astruct ib_qp *and she's about to be gone π¦
β οΈ NOTE β οΈ
okay this is the part where you pay attention, bestie π«Ά β for a user qp you gotta useib_destroy_qp_userwith validudata! do not come forib_destroy_qpwith a user QP, that's not her job, iykyk π
π SEE ALSO π
the linkies, alphabet-adjacent chaos, and yes we're listing every single one because i don't gatekeep π the kernel file to peep is ./include/rdma/ib_verbs.h, and then:
- stats, rates & types:
struct rdma_stat_desc(9),struct rdma_hw_stats(9),ib_rate_to_mult(9),ib_rate_to_mbps(9),ib_port_attr_to_speed_info(9),enum ib_mr_type(9),struct ib_mr_status(9),mult_to_ib_rate(9),struct ib_udata(9),struct rdma_netdev(9),struct ib_device_ops(9),ib_get_client_data(9) - QP-adjacent besties:
ib_modify_qp_is_ok(9),ib_create_qp(9),ib_modify_qp_with_udata(9),ib_modify_qp(9),ib_query_qp(9),ib_open_qp(9),ib_close_qp(9),ib_post_send(9),ib_post_recv(9) - capability checks, the whole squad:
rdma_cap_ib_switch(9),rdma_start_port(9),rdma_for_each_port(9),rdma_end_port(9),rdma_cap_ib_mad(9),rdma_cap_opa_mad(9),rdma_cap_ib_smi(9),rdma_cap_ib_cm(9),rdma_cap_iw_cm(9),rdma_cap_ib_sa(9),rdma_cap_ib_mcast(9),rdma_cap_af_ib(9),rdma_cap_eth_ah(9),rdma_cap_opa_ah(9),rdma_max_mad_size(9),rdma_cap_roce_gid_table(9),rdma_core_cap_opa_port(9),rdma_mtu_enum_to_int(9),rdma_mtu_from_attr(9) - PDs & AHs:
ib_alloc_pd(9),ib_dealloc_pd(9),rdma_create_ah(9),rdma_create_user_ah(9),ib_get_gids_from_rdma_hdr(9),ib_get_rdma_header_version(9),ib_init_ah_attr_from_wc(9),ib_create_ah_from_wc(9),rdma_modify_ah(9),rdma_query_ah(9),rdma_destroy_ah_user(9),rdma_destroy_ah(9) - SRQs:
ib_modify_srq(9),ib_query_srq(9),ib_destroy_srq_user(9),ib_destroy_srq(9),ib_post_srq_recv(9) - CQs:
ib_alloc_cq_any(9),rdma_set_cq_moderation(9),ib_destroy_cq_user(9),ib_destroy_cq(9),ib_poll_cq(9),ib_req_notify_cq(9) - DMA girlies:
ib_virt_dma_to_ptr(9),ib_virt_dma_to_page(9),ib_dma_mapping_error(9),ib_dma_map_single(9),ib_dma_unmap_single(9),ib_dma_map_page(9),ib_dma_unmap_page(9),ib_dma_map_bvec(9),ib_dma_unmap_bvec(9),ib_dma_map_sgtable_attrs(9),ib_dma_map_sg(9),ib_dma_unmap_sg(9),ib_dma_max_seg_size(9),ib_dma_sync_single_for_cpu(9),ib_dma_sync_single_for_device(9) - MRs & multicast:
ib_dereg_mr_user(9),ib_dereg_mr(9),ib_update_fast_reg_key(9),ib_inc_rkey(9),ib_attach_mcast(9),ib_detach_mcast(9),ib_check_mr_status(9) - device & addressing misc (the deep cuts π):
ib_device_try_get(9),rdma_ah_find_type(9),ib_lid_cpu16(9),ib_lid_be16(9),rdma_roce_rescan_device(9),rdma_device_to_ibdev(9),ibdev_to_node(9),rdma_device_to_drv_device(9),rdma_flow_label_to_udp_sport(9),rdma_calc_flow_label(9),rdma_get_udp_sport(9)
and that's the whole page, bestie, we ate and left zero crumbs πβ¨ it lives in ./include/rdma, dated October 2026 β so cute, so timeless, 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