xprt_request_transmit(9)
π xprt_request_transmit β the Kernel API Manual moment
okay so this is xprt_request_transmit(9) from the Kernel API Manual, and yes bestie we're getting into RPC transport internals today, strap in π
β¨ NAME β¨
xprt_request_transmit β send an RPC request on a transport π
πΈ SYNOPSIS πΈ
int xprt_request_transmit (struct rpc_rqst *req , struct rpc_task
*snd_task );
literally that's the whole signature, no cap β¨
π¦ ARGUMENTS π¦
reqβ pointer to the request you wanna transmit π«Άsnd_taskβ the RPC task that owns the transport lock, like it's holding the aux cord and nobody else gets to touch it π₯
π DESCRIPTION π
okay so picture this: this function performs the transmission of a single request. one (1) request. main character energy, no group chat π
β οΈ important note bestie: if the request is not the same as snd_task, then it does need to be pinned. like actually. don't skip that part π
and the slay of it all? it returns '0' on success π
periodt.
π SEE ALSO π
so you wanna go deeper?? honestly same. the kernel file is ./net/sunrpc/xprt.c and here's the whole friend group π«Ά:
xprt_register_transport(9)xprt_unregister_transport(9)xprt_find_transport_ident(9)xprt_reserve_xprt(9)xprt_release_xprt(9)xprt_release_xprt_cong(9)xprt_request_get_cong(9)xprt_release_rqst_cong(9)xprt_adjust_cwnd(9)xprt_wake_pending_tasks(9)xprt_wait_for_buffer_space(9)xprt_write_space(9)xprt_adjust_timeout(9)xprt_disconnect_done(9)xprt_schedule_autoclose_locked(9)xprt_force_disconnect(9)xprt_conditional_disconnect(9)xprt_connect(9)xprt_reconnect_delay(9)xprt_reconnect_backoff(9)xprt_lookup_rqst(9)xprt_pin_rqst(9)xprt_unpin_rqst(9)xprt_request_enqueue_receive(9)xprt_request_dequeue_receive_locked(9)xprt_update_rtt(9)xprt_complete_rqst(9)xprt_wait_for_reply_request_def(9)xprt_wait_for_reply_request_rtt(9)xprt_request_wait_receive(9)xprt_request_enqueue_transmit(9)xprt_request_dequeue_transmit_locked(9)xprt_request_dequeue_transmit(9)xprt_request_dequeue_xprt(9)xprt_request_prepare(9)xprt_request_need_retransmit(9)xprt_prepare_transmit(9)xprt_transmit(9)xprt_add_backlog_noncongested(9)xprt_reserve(9)xprt_retry_reserve(9)xprt_release(9)xprt_create_transport(9)xprt_destroy(9)xprt_get(9)xprt_put(9)
that's it, that's the page, go read xprt.c and live your truth π
mwah π β this one's filed under ./net/sunrpc, Kernel API Manual edition dated October 2026, xprt_request_transmit(9) and out πβ¨
π¦ 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