xprt_reques...ceive_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xprt_reques...ceive_locked(9)

okay so first things first β€” this one comes out of the Kernel API Manual (section 9, bestie, we're in kernel-space now ✨). And yes, the header literally shows the name all squished up like xprt_reques...ceive_locked(9) because the full thing is way too long to fit. The real, un-cut name is xprt_request_dequeue_receive_locked and it is a whole mouthful, so honestly? Respect the ellipsis. πŸ’€


🌸 NAME 🌸

xprt_request_dequeue_receive_locked β€” removes a request from the receive queue. That's it, that's the whole job. Little icon, doing little icon things. πŸŽ€


✨ SYNOPSIS ✨

void xprt_request_dequeue_receive_locked (struct rpc_task *task );

🫢 ARGUMENTS 🫢

  • task β€” the RPC task, aka the main character of this whole situation πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

So here's the vibe check: the caller must hold xprt->queue_lock. Not "should", not "maybe", must. Lock it up first or you're in your flop era, no cap. πŸ”’


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./net/sunrpc/xprt.c β€” that's the home base, the source file where this whole family lives 🏠

and then the whole extended friend group, fr fr:

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_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, that's the whole group chat, everyone's here, nobody's left on read πŸ’–


lowkey reminder bestie: xprt->queue_lock first, always. that's the one rule and it's not optional πŸ™ˆ

okay that's the whole page, you ate that πŸ“ this lil gem lives in ./net/sunrpc and the version fairy stamped it October 2026 β€” go forth and dequeue responsibly, mwah πŸ’œ

πŸ“¦ where this page comes from