throtl_pending_timer_fn(9)
π throtl_pending_timer_fn β a little intro, bestie π
Okay so this one's from the Kernel API Manual (yes, the real one, section 9, very official π) and it's literally the timer function for service_queue->pending_timer. That's the whole vibe. Let's get into it β¨
β¨ NAME β¨
throtl_pending_timer_fn β timer function for service_queue->pending_timer π°οΈ
π¦ SYNOPSIS π¦
void throtl_pending_timer_fn (struct timer_list *t );
πΈ ARGUMENTS πΈ
tβ thepending_timermember of thethrotl_service_queuebeing serviced π«
π DESCRIPTION π
So picture this: a child throtl_grp with active bio's becomes pending and gets queued on the service_queue's pending_tree. That's when this timer gets armed β like, it's on, it's waiting, it's giving scheduled main character energy β³β¨ And it expires right when the first child throtl_grp should be dispatched. Iconic.
When it fires, this function dispatches bio's from the children throtl_grps to the parent service_queue. Passing the bio's up the chain, no cap π₯
Now here's the slay part: if the parent's parent is another throtl_grp, the dispatching gets propagated β either by arming its pending_timer or by just repeating the dispatch directly. Two paths, both valid, we love options π
And if the top-level service_tree is reached? Then throtl_data->dispatch_work gets kicked so that the ready bio's are issued. That's the final boss, the whole point, periodt π―π
π«Ά SEE ALSO π«Ά
Kernel file ./block/blk-throttle.c
sq_to_tg(9)sq_to_td(9)throtl_log(9)throtl_qnode_add_bio(9)throtl_peek_queued(9)throtl_pop_queued(9)throtl_schedule_next_dispatch(9)throtl_add_bio_tg(9)blk_throtl_dispatch_work_fn(9)
ngl bestie, if you're poking at blk-throttle internals you should fr fr read the ones above too, they're the whole friend group π
Okay that's the whole page, mwah π This little gem lives over in ./block, blessed us in October 2026, and that's the sign-off β go forth and dispatch those bio's, queen π§ββοΈβπ
π¦ 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