xprt_write_space(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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