blkcg_destroy_blkgs(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to the blkcg_destroy_blkgs(9) page from the Kernel API Manual ✨ This function is literally responsible for shooting down blkgs β€” that’s the whole NAME vibe πŸŽ―πŸ’…

🌸 SYNOPSIS 🌸

void blkcg_destroy_blkgs (struct blkcg *blkcg );

πŸŽ€ ARGUMENTS πŸŽ€

  • blkcg β€” the blkcg of interest, aka the one you’re looking at πŸ‘€πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

so here’s the tea: blkgs should be removed while holding both q and blkcg locks πŸ”’πŸ”’. and because the blkcg lock is nested inside the q lock, this function performs reverse double lock dancing πŸ’ƒπŸ•Ί β€” yes, that’s the actual phrase, and it’s iconic.

Destroying the blkgs releases the reference held on the blkcg’s css, allowing blkcg_css_free to eventually be called ✨ chain reaction, but make it kernel πŸ§šπŸ’œ

this is the blkcg counterpart of ioc_release_fn 🫢

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./block/blk-cgroup.c is the home base for all this 🏠 and here’s the whole friend group:


that’s the whole page, bestie πŸ’… sending u a kiss from ./block, dated October 2026, for blkcg_destroy_blkgs(9) β€” mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from