blk_execute_rq_nowait(9)
π blk_execute_rq_nowait β Kernel API Manual, bestie edition β¨
okay so welcome to the blk_execute_rq_nowait(9) page, straight out of the Kernel API Manual, and honestly? it's a little baddie. it does ONE thing and it does it without waiting around, which is very main character of it. let's get into it π
β¨ NAME β¨
blk_execute_rq_nowait β insert a request to I/O scheduler for execution π«
π¦ SYNOPSIS π¦
void blk_execute_rq_nowait (struct request *rq , bool at_head );
like, that's the whole signature. two args. no return value. she's void, she's confident, she's not giving you anything back. π
πΈ ARGUMENTS πΈ
rqβ the request to insert π«Ά (yes, the actual request struct, fully prepped and ready to go, no thoughts just vibes)at_headβ insert request at head or tail of queue β this is your lil toggle: head or tail, you decide, you're the CEO of queue placement
π DESCRIPTION π
so what she does: she takes a fully prepared request and inserts it at the back of the I/O scheduler queue for execution. that's the job. that's the assignment. and the "nowait" in her name? not a drill β she does not wait for completion. she drops it off and dips. πββοΈπ¨
like, imagine handing your friend a fully assembled ikea shelf and being like "okay build it whenever, i'm leaving" β that's the energy. β¨
π NOTE π
real talk: this function will invokedonedirectly if the queue is dead. π no queue? no problem? well β problem, but she handles it by callingdoneright then and there. just so you know, bestie. π
π SEE ALSO π
the whole friend group, and they're all in the kernel file ./block/blk-mq.c:
blk_mq_wait_quiesce_done(9)blk_mq_quiesce_queue(9)blk_update_request(9)blk_mq_complete_request(9)blk_mq_start_request(9)blk_execute_rq(9)β the waiting version, if you're the patient type π§blk_mq_delay_run_hw_queue(9)blk_mq_run_hw_queue(9)blk_mq_run_hw_queues(9)blk_mq_delay_run_hw_queues(9)blk_mq_request_bypass_insert(9)blk_mq_try_issue_directly(9)blk_mq_submit_bio(9)blk_insert_cloned_request(9)blk_rq_unprep_clone(9)blk_rq_prep_clone(9)blk_mq_destroy_queue(9)
go read them all, iykwyk π
and that's the page!! π source ./block, version dated October 2026, page blk_execute_rq_nowait(9) β slay, bye bestie, go insert some requests π₯ππ
π¦ 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