freeze_workqueues_begin(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

freeze_workqueues_begin(9) πŸ’–βœ¨

okay bestie, welcome to the Kernel API Manual, section 9 β€” this is the freeze_workqueues_begin page and it's lowkey iconic. grab a lil snack, we're freezing workqueues together 🧚


✨ NAME ✨

freeze_workqueues_begin β€” begin freezing workqueues 🧊


🌸 SYNOPSIS 🌸

void freeze_workqueues_begin (void );

πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. that's it. she takes nothing. queen of boundaries πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

so this is where you start freezing workqueues. 🧊✨

after this function returns, all freezable workqueues will queue new works to their inactive_works list instead of pool->worklist.

like, that's the whole plot twist β€” the new work doesn't go to pool->worklist anymore, it goes to inactive_works. that's the vibe shift. that's the freeze. no cap πŸ’€


πŸ’œ CONTEXT πŸ’œ

heads up, this one grabs and releases wq_pool_mutex, wq->mutex and pool->lock's. so like, it's doing lock stuff. that's the whole context warning, bestie β€” it touches all three 🫢


🌈 SEE ALSO 🌈

first up, the source of it all: Kernel file ./kernel/workqueue.c. go read the code, iykyk πŸ“–πŸ’–

and then the whole extended friend group β€” every single one, no skipping, we love a complete list:

like, that's the entire group chat and every one of them ate πŸ”₯


also the matching vibe check is freeze_workqueues_busy(9) and thaw_workqueues(9) β€” go check those when you're done here, bestie 🫢

okay that's the page!! sourced straight from ./kernel, dated October 2026, and yes we are literally at the end of freeze_workqueues_begin(9) β€” mwah, love u, go freeze some workqueues responsibly πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from