srpt_alloc_ioctx(9)
π srpt_alloc_ioctx β like, the SRPT I/O context allocator bestie
okay so this is a page from the Kernel API Manual (manual section 9, srpt_alloc_ioctx(9)) and honestly? it's a little one but she's doing her job. let me put you on. π«Ά
β¨ NAME β¨
srpt_alloc_ioctx β allocate a SRPT I/O context structure
no cap, that's the whole pitch. she allocates. she's an I/O context. iconic behaviour. π
πΈ SYNOPSIS πΈ
struct srpt_ioctx * srpt_alloc_ioctx (struct srpt_device *sdev , int
ioctx_size , struct kmem_cache *buf_cache , enum dma_data_direction dir
);
like, she returns a struct srpt_ioctx * and she wants four things from you before she'll even look at you. main character energy fr. β¨
π ARGUMENTS π
sdevβ the SRPT HCA pointer. this is the hardware situation, she needs to know who she's working with πioctx_sizeβ the I/O context size. how much context, bestie. specify it.buf_cacheβ the I/O buffer cache.struct kmem_cache *, the cache she pulls buffers from π¦dirβ the DMA data direction.enum dma_data_direction, so she knows which way the data's flowing π₯
ngl, get these four right or she's not gonna be the one. that's it, that's the whole argument list. short and slay.
π§ SEE ALSO π§
the kernel file lives right here, bookmark it:
./drivers/infiniband/ulp/srpt/ib_srpt.c
and the whole friend group, okay there's a lot of them, don't panic, just scroll:
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_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_rts(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)
like, that's the entire group chat and every single one of them @'d you. reply to all of them. π«Ά
and that's the page!! π mwah π
cute little sign-off: this one lives out of ./drivers/infiniband/ulp/srpt, it's dated October 2026, and it's literally titled srpt_alloc_ioctx(9). 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