raw_atomic_l...h_or_release(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the raw_atomic_l...h_or_release(9) page from the Kernel API Manual πŸ’…βœ¨ this one is short but it’s giving tiny function, big atomic energy, and we’re keeping every deet because that’s how we do it.


🌸 NAME 🌸

raw_atomic_long_fetch_or_release β€” atomic bitwise OR with release ordering, periodt. πŸ’–

✨ SYNOPSIS ✨

long raw_atomic_long_fetch_or_release (long i , atomic_long_t *v );

πŸŽ€ ARGUMENTS πŸŽ€

  • i β€” a long value. It’s the value you’re OR-ing in, bestie ✨
  • v β€” pointer to atomic_long_t. This is the atomic long getting updated, no cap.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the function atomically updates v to (v | i) with release ordering. literal main character behavior for a bitwise OR πŸ˜­πŸ’…

It’s safe to use in noinstr code 🫢, but everywhere else you should prefer atomic_long_fetch_or_release, bestie. That’s the vibe check.

πŸ’– RETURN πŸ’–

The original value of v β€” like, what it was before the OR happened. So you get the before pic, not the after pic πŸ“Έβœ¨

🌈 SEE ALSO 🌈

The kernel file is ./include/linux/atomic/atomic-long.h β€” that’s where the magic lives πŸ’«

the whole atomic_long extended universe is here, and yes we’re naming all of them because bestie deserves the full group chat πŸ’¬:

mwah πŸ’‹ this lil page is from ./include/linux/atomic, October 2026 edition, and it’s the raw_atomic_l...h_or_release(9) page β€” bye bestie, go OR something with release ordering! πŸŽ€πŸ’…

πŸ“¦ where this page comes from