STRUCT DELAYED_FREE(9)
β¨ struct delayed_free(9) β¨
okay bestie, so this is a kernel API page β the <cyan>struct delayed_free</cyan> one β and honestly it's giving "small struct, big responsibilities" energy. let's get into it π
πΈ NAME πΈ
struct delayed_free β the data structures used for delayed freeing. that's it, that's the vibe π
β¨ SYNOPSIS β¨
like, here's the whole thing, verbatim, no cap:
struct delayed_free {
struct rcu_head rcu_head;
int index;
int scheduled;
struct pending_free pf[2];
};
π¦ Members π¦
rcu_headβ this one's used to schedule an RCU callback for freeing data structures. it's the little hook that makes the whole "delayed" thing happen βindexβ the index ofpfthat freed data structures get added to. yes,pfis plural-ish and this is your pointer into it πscheduledβ literally just tracks whether or not an RCU callback has been scheduled. a yes/no situation, we love a boolean-ish girlie π«Άpfβ an array holding information about the data structures that are about to be freed. it's the receipts pile π
π Description π
so picture this: it's a data structure for delayed freeing of data structures that might still be getting accessed by RCU readers at the exact moment those things were freed. which is a whole mess if you don't delay β so we delay. iconic behaviour, honestly π₯
π SEE ALSO π
- Kernel file
./kernel/locking/lockdep.c struct pending_free(9)struct lock_trace(9)lockdep_hardirqs_on_prepare(9)lockdep_cleanup_dead_cpu(9)
that's the whole page bestie, you ate that. this one lives in ./kernel/locking, it's dated October 2026, and it's from the Kernel API Manual β mwah, go forth and delay your frees responsibly ππ§
π¦ 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