atomic64_fe...dnot_release(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ atomic64_fetch_andnot_release πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” yes, this page literally lives in the kernel API manual, and today's main character is atomic64_fetch_andnot_release(9). She does exactly one thing and she does it atomically. periodt. πŸ¦‹

Note the header is all cute and truncated like atomic64_fe...dnot_release(9) because man page headers have a character limit and, honestly, she contains multitudes. 😭


✨ NAME ✨

atomic64_fetch_andnot_release β€” atomic bitwise AND NOT with release ordering 🌸


🌈 SYNOPSIS 🌈

s64 atomic64_fetch_andnot_release (s64 i , atomic64_t *v );

🫢 ARGUMENTS 🫢

  • i β€” an s64 value πŸ“
  • v β€” pointer to atomic64_t πŸ’–

πŸ”₯ DESCRIPTION πŸ”₯

So like β€” she atomically updates v to (v & ~i) with release ordering. That's it, that's the whole vibe. ✨

⚠️ Unsafe to use in noinstr code β€” like, genuinely do not. Use raw_atomic64_fetch_andnot_release there instead, k? πŸ™ˆ

πŸ‘‘ RETURN πŸ‘‘

The original value of v. πŸ’« She gives you the before pic, not the after. iconic behaviour.


🧚 SEE ALSO 🧚

Kernel file ./include/linux/atomic/atomic-instrumented.h β€” that's the home address, iykyk. 🏠

πŸ’œ the whole atomic_* fam

πŸ¦‹ the atomic64_* girlies (our girl's homegirls)

🌈 the atomic_long_* crew


that's the whole page, bestie β€” go be atomic and stay release-ordered πŸ’…βœ¨

source: ./include/linux/atomic Β· dated October 2026 Β· from the Kernel API Manual 🫢 mwah πŸ’–

πŸ“¦ where this page comes from