STRUCT KVFREE_RCU_BULK_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 rn
  • records β€” the array itself, holding the kvfree_rcu pointers πŸ’œ the main character of the whole struct ngl

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./mm/slab_common.c β€” go read it, iykyk πŸ“‚


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