STRUCT KVFREE_RCU_BULK_DATA(9)
β¨ NAME β¨
struct kvfree_rcu_bulk_data β bestie, it's literally just one single block whose whole job is to hold kvfree_rcu() pointers π
that's it, that's the vibe
π SYNOPSIS π
struct kvfree_rcu_bulk_data {
struct list_head list;
struct rcu_gp_seq gp_snap;
unsigned long nr_records;
void *records[];
};
okay so this is from the Kernel API Manual (section 9, kernel API girlies rise π«Ά) and yes the last member is a flexible array, she's iconic like that β¨
π MEMBERS π
listβ the list node, no cap π every single one of these blocks is linked between each other, so they're all holding hands in a big linked-list chain π«Άgp_snapβ a snapshot of the RCU state for the objects that got placed into this bulk πΈ it's giving "receipts of the moment they arrived"nr_recordsβ the number of active pointers in the array π₯ like how many spots are actually being used rnrecordsβ the array itself, holding thekvfree_rcupointers π the main character of the whole struct ngl
π¦ SEE ALSO π¦
Kernel file ./mm/slab_common.c β go read it, iykyk π
__kmem_cache_create_args(9)kmem_buckets_create(9)kmem_cache_shrink(9)kmem_dump_obj(9)kfree_sensitive(9)struct kfree_rcu_cpu_work(9)struct kfree_rcu_cpu(9)kvfree_rcu_barrier(9)kvfree_rcu_barrier_on_cache(9)
periodt π that's every single one of them, don't come for me about the list length, I copied it exactly fr fr
okay bestie that's the whole page π this lil drop came from ./mm, dated October 2026, and it's filed under struct kvfree_rcu_bulk_data(9) β slay, go free some pointers 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