atomic_long_...turn_release(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… atomic_long_...turn_release(9) β€” from the Kernel API Manual ✨

okay so bestie, we're in the Kernel API Manual today and the page we're reading is atomic_long_...turn_release(9) (yes the name is literally truncated with dots, that's just how it's filed, don't come for me 🫢). Sit down, hydrate, and let's get into it.


🌸 NAME 🌸

atomic_long_inc_return_release β€” atomic increment, but make it release-ordered πŸ’…


✨ SYNOPSIS ✨

long atomic_long_inc_return_release (atomic_long_t *v );

πŸŽ€ ARGUMENTS πŸŽ€

  • v β€” pointer to atomic_long_t. that's the whole vibe. it's the thing you're incrementing, bestie.

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does this icon actually do? It atomically updates v to (v + 1) with release ordering. like, the whole update happens as one indivisible little moment, no one else can catch it mid-step, and the release ordering is doing its memory-barrier thing so everything you wrote before this stays put before it. slay. πŸ”₯

⚠️ Heads up: this is unsafe to use in noinstr code. Instead use raw_atomic_long_inc_return_release there. no cap, that's the rule β€” don't be the main character who ignores it 😭

πŸ‘‘ RETURN πŸ‘‘

It hands you back the updated value of v. So you know exactly what it landed on. iconic behaviour honestly.


🌈 SEE ALSO 🌈

okay this section is long, like the group chat after a full moon long, so buckle up πŸ’€. The kernel file for all of this is ./include/linux/atomic/atomic-instrumented.h πŸ“

the atomic_* era πŸ’œ

the atomic64_* era πŸ’–

the atomic_long_* era β€” our people 🧚


and that's the whole page, bestie, you ate that πŸ«ΆπŸ’…

source: ./include/linux/atomic, dated October 2026 β€” tysm for reading, mwah, go increment something responsibly πŸ˜­πŸ’–πŸŒΈ

πŸ“¦ where this page comes from