xprt_write_space(9)
π xprt_write_space(9) π
okay so this is a page from the Kernel API Manual (that's the manual name, bestie, it lives in section 9) and it's about xprt_write_space β the lil function that goes "hey!! wake UP!!" to whatever task is sitting around waiting for space in the transport output buffer. no cap.
β¨ NAME β¨
xprt_write_space β wake the task waiting for transport output buffer space π«Ά
πΈ SYNOPSIS πΈ
bool xprt_write_space (struct rpc_xprt *xprt );
it returns a bool, it takes exactly one thing, and that thing is a pointer to a struct rpc_xprt. literally that's it. π
π ARGUMENTS π
xprtβ the transport that has tasks in it going "are we there yet" waiting for buffer space. this is the girl you're waking up. π
π¦ DESCRIPTION π¦
so here's the tea: this can be called in soft IRQ context, which means xprt_write_space never sleeps. not even a little nap. not even a micro-nap. it's on its grind era and it's not allowed to block, periodt. πβ¨
fr fr do not assume this thing can sleep β it can't, and that's the whole point of mentioning it. respect the constraint or your kernel will have a bad time π
π SEE ALSO π
this function lives in the kernel file ./net/sunrpc/xprt.c, and the family reunion list is genuinely huge, so buckle up bestie π’:
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_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_request_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)
like. forty-something cross-references. she's connected. π
mwah π this page is brought to you by the ./net/sunrpc source and it's dated October 2026 β go off, calendar icon, we love a timestamped queen. byeee bestie, go wake those tasks π§ββοΈβ¨
π¦ 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