atomic64_fetch_xor_release(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… atomic64_fetch_xor_release(9) β€” welcome to the Kernel API Manual ✨

okay so bestie, we're in the Kernel API Manual, and today's main character is atomic64_fetch_xor_release. It's giving release-ordering XOR energy, and we're gonna go through the whole page together. No skips. Periodt. πŸ’–

🌸 NAME 🌸

atomic64_fetch_xor_release β€” atomic bitwise XOR with release ordering πŸ’«

✨ SYNOPSIS ✨

s64 atomic64_fetch_xor_release (s64 i , atomic64_t *v );

πŸŽ€ ARGUMENTS πŸŽ€

  • i β€” an s64 value. That's the value, bestie. πŸ“
  • v β€” a pointer to atomic64_t. Pointer energy, we love to see it. 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

Atomically updates v to (v ^ i) with release ordering. That's the whole move, and it's literally atomic, so it's not doing the messy half-update thing. πŸ’…

⚠️ Warning: Unsafe to use in noinstr code; use raw_atomic64_fetch_xor_release there. No cap, that's the caveat. 😭

πŸ‘‘ RETURN πŸ‘‘

The original value of v. Like, it hands you back the value from before, and that's iconic. ✨

🌈 SEE ALSO 🌈

The kernel file is ./include/linux/atomic/atomic-instrumented.h, and here's the whole cross-reference friend group. Every single one. Iykyk. πŸ‘‘


okay that's the whole page, bestie πŸ’– this was atomic64_fetch_xor_release(9), source/version ./include/linux/atomic, dated October 2026. Bye, slay, and use raw_atomic64_fetch_xor_release in noinstr code. πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from