raw_atomic_f..._inc_release(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… raw_atomic_f..._inc_release(9) β€” the Kernel API Manual, but make it cute ✨

okay so this is a page from the Kernel API Manual β€” yes, the raw_atomic_f..._inc_release(9) one, the name got squished by the man-page generator and honestly? she's thriving anyway 🫢


🌸 NAME 🌸

raw_atomic_fetch_inc_release β€” atomic increment, but make it a release πŸ’… (ordering-wise, bestie, keep up)


✨ SYNOPSIS ✨

int raw_atomic_fetch_inc_release (atomic_t *v );

that's it. that's the whole vibe check. one function, one pointer, one int coming back at you 😌


πŸŽ€ ARGUMENTS πŸŽ€

  • v β€” pointer to atomic_t. literally just a pointer to the atomic thing you're about to bump. she's the main character of this function, no cap πŸ¦‹

πŸ”₯ DESCRIPTION πŸ”₯

so what does she do? Atomically updates v to (v + 1) β€” one clean, indivisible little ++ β€” and does it with release ordering. the way that one operation is both "add one" and "respect my memory ordering"… obsessed πŸ’–

also important: Safe to use in noinstr code β€” like, genuinely safe, that's the whole point of the raw_ prefix β€” but prefer atomic_fetch_inc_release elsewhere. raw_ is the special-occasion one, not the everyday one. iykyk 🧚

ngl, if you're reaching for this and you're not in noinstr code, the manpage is gently asking you to use the non-raw version. it's giving "read the room" πŸ’€

⭐ RETURN ⭐

The original value of v. ✨ Not the new one β€” the original one. the fetch part of the name is not decorative, bestie 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

first up, the receipts β€” kernel file ./include/linux/atomic/atomic-arch-fallback.h πŸ“

and then…… the entire extended friend group. like, everyone showed up to this party. no one got left on read 🫢

πŸ’œ the raw_atomic_* girlies (32-bit era)

πŸ¦‹ the raw_atomic64_* icons (64-bit, obviously)


πŸ“ sign-off πŸ“

and that's the page, bestie!! this one lives in ./include/linux/atomic, dated October 2026, and it answers to the name raw_atomic_f..._inc_release(9) β€” yes, still squished, still iconic, we stan a truncated filename πŸŒŸπŸ’–

go forth and increment atomically. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from