srpt_ch_qp_rts(9)
β¨ srpt_ch_qp_rts(9) β¨
okay so real talk β this one comes from the Kernel API Manual, section 9, and it is tiny. like, one-function-and-a-note tiny. but bestie, small pages still ate, so let's go π«Ά
π NAME π
srpt_ch_qp_rts β change the state of a channel to 'ready to send' (RTS)
like⦠that's the whole vibe. channel goes RTS. slay.
π SYNOPSIS π
int srpt_ch_qp_rts (struct srpt_rdma_ch *ch , struct ib_qp *qp );
πΈ ARGUMENTS πΈ
chβ the channel of the queue pair. yes, the channel. the one the queue pair is chilling in πqpβ the queue pair whose state we're changing. this is the one getting the glow-up β¨
π¦ DESCRIPTION π¦
so here's the whole plot: it returns zero upon success, and a negative value upon failure. that's it. that's the function. zero = iconic, negative = not iconic π
π NOTE π
currently a struct ib_qp_attr takes 136 bytes on a 64-bit system. if this structure ever becomes larger, it might be necessary to allocate it dynamically instead of on the stack.
ngl this is the part where you pay attention β 136 bytes on a 64-bit system, and if that struct ever bloats past its current size, the stack allocation situation might need to become a dynamic allocation situation instead. not me worrying about stack space π
β SEE ALSO β
the kernel file itself, in all its glory:
./drivers/infiniband/ulp/srpt/ib_srpt.c
and then the whole group chat of sibling functions β every single one of them, no cap:
srpt_event_handler(9),srpt_srq_event(9),srpt_qp_event(9),srpt_set_ioc(9),srpt_get_class_port_info(9)srpt_get_iou(9),srpt_get_ioc(9),srpt_get_svc_entries(9),srpt_mgmt_method_get(9),srpt_mad_send_handler(9)srpt_mad_recv_handler(9),srpt_refresh_port(9),srpt_unregister_mad_agent(9),srpt_alloc_ioctx(9),srpt_free_ioctx(9)srpt_alloc_ioctx_ring(9),srpt_free_ioctx_ring(9),srpt_set_cmd_state(9),srpt_test_and_set_cmd_state(9),srpt_post_recv(9)srpt_zerolength_write(9),srpt_get_desc_tbl(9),srpt_init_ch_qp(9),srpt_ch_qp_rtr(9),srpt_ch_qp_err(9)srpt_get_send_ioctx(9),srpt_abort_cmd(9),srpt_rdma_read_done(9),srpt_build_cmd_rsp(9),srpt_build_tskmgmt_rsp(9)srpt_handle_cmd(9),srpt_handle_tsk_mgmt(9),srpt_handle_new_iu(9),srpt_send_done(9),srpt_create_ch_ib(9)srpt_close_ch(9),srpt_cm_req_recv(9),srpt_cm_rtu_recv(9),srpt_cm_handler(9),srpt_queue_response(9)srpt_release_sport(9),srpt_lookup_port(9),srpt_add_one(9),srpt_remove_one(9),srpt_close_session(9)srpt_parse_i_port_id(9),srpt_make_tpg(9),srpt_drop_tpg(9),srpt_make_tport(9),srpt_drop_tport(9)srpt_init_module(9)
π and that's the page!! love that for us. this lil gem lives over in ./drivers/infiniband/ulp/srpt and it was dated October 2026 β periodt, see u next time bestie π
π¦ 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