blk_mq_quiesce_queue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… blk_mq_quiesce_queue(9) β€” from the Kernel API Manual, bestie

okay so picture this: it's a Thursday, the block layer is Booked And Busy, and you need everyone to just chill for a sec. That's this function. It's blk_mq_quiesce_queue, and no cap, the whole point is "wait until all ongoing dispatches have finished." Iconic behavior honestly. πŸŽ€


✨ NAME ✨

blk_mq_quiesce_queue β€” wait until all ongoing dispatches have finished πŸ¦‹


🌸 SYNOPSIS 🌸

void blk_mq_quiesce_queue (struct request_queue *q );

πŸ’– ARGUMENTS πŸ’–

  • q β€” the request queue. yeah. that's the one. that's the queue we're quiescing, bestie. 🫢

⚠️ NOTE ⚠️

okay this part is important so listen up fr fr:

this function does not prevent the struct request end_io callback function from being invoked. nope. not doing that. that's not its job πŸ’€

but here's the slay: once this function has returned, we make sure no dispatch can happen until the queue is unquiesced via blk_mq_unquiesce_queue. periodt. that's the guarantee. πŸ’…

so like… end_io can still show up to the party, but nothing new gets dispatched until you say so. got it? got it. ✨

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./block/blk-mq.c, plus the whole friend group:


and that's the whole page, bestie πŸ’œ this little gem lives in ./block, dated October 2026, and it literally says blk_mq_quiesce_queue(9) right there in the corner like a little name tag πŸŽ€ go forth and quiesce responsibly πŸ§šβ€β™€οΈπŸŒΈ

πŸ“¦ where this page comes from