blk_mq_try_issue_directly(9)
β¨ NAME β¨
blk_mq_try_issue_directly β straight from the Kernel API Manual, this is the function that tries to send a request directly to the device driver. That's the whole name vibe, bestie. π
π SYNOPSIS π
void blk_mq_try_issue_directly (struct blk_mq_hw_ctx *hctx , struct request *rq );
π«Ά ARGUMENTS π«Ά
hctxβ pointer of the associated hardware queue. literally the hardware queue's pointer.rqβ pointer to the request to be sent. the request in question, periodt.
π₯ DESCRIPTION π₯
Okay so here's the tea: if the device has enough resources to accept a new request now, this function sends the request directly to the device driver. Slay, direct path. β¨
Otherwise? It inserts the request at the hctx->dispatch queue, so we can try to send it another time in the future. Requests inserted at this queue have higher priority. No cap. π
π SEE ALSO π
The kernel file is ./block/blk-mq.c, and these are the besties in the same orbit:
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_nowait(9)blk_execute_rq(9)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_submit_bio(9)blk_insert_cloned_request(9)blk_rq_unprep_clone(9)blk_rq_prep_clone(9)blk_mq_destroy_queue(9)
Cute little sign-off from the source/version footer: ./block, October 2026, blk_mq_try_issue_directly(9) β mwah π
π¦ 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