STRUCT FUTEX_MM_PHASH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to the struct futex_mm_phash(9) page in the Kernel API Manual πŸ’– this struct is the futex private hash related per MM data β€” literally the per-MM data situation for futex private hash stuff, and it’s giving very organized main character energy ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

       struct futex_mm_phash {
           struct mutex                    lock;
           struct futex_private_hash       *hash;
           struct futex_private_hash       *hash_new;
           unsigned long                   batches;
           struct rcu_head                 rcu;
           atomic_long_t atomic;
           unsigned int                    __percpu *ref;
        };

πŸŽ€ Members πŸŽ€

  • lock β€” the Mutex protecting the private hash operations, so nobody’s out here messing with them at the same time πŸ’…
  • hash β€” an RCU managed pointer to the private hash; it’s the main pointer bestie ✨
  • hash_new β€” pointer to a newly allocated private hash πŸ¦‹
  • batches β€” the batch state for RCU synchronization, keeping that sync timeline cute and accounted for πŸŽ€
  • rcu β€” the RCU head for call_rcu β€” yep, call_rcu exactly, no cap 🌈
  • atomic β€” the aggregate value for hash_ref πŸ’–
  • ref β€” the per CPU reference counter for a private hash, tracking refs per CPU fr fr πŸ‘‘

🌈 SEE ALSO 🌈

  • Kernel file ./include/linux/futex_types.h
  • struct futex_sched_data(9)
  • struct futex_unlock_cs_range(9)
  • struct futex_unlock_cs_ranges(9)
  • struct futex_mm_data(9)

that’s the whole page, bestie 🫢 sourced from ./include/linux, dated October 2026, and filed under struct futex_mm_phash(9) β€” slay πŸ’–βœ¨

πŸ“¦ where this page comes from