raw_atomic_long_add_return(9)
π raw_atomic_long_add_return β Kernel API Manual
okay so bestie, welcome to the raw_atomic_long_add_return page β¨ this is from the Kernel API Manual and it's genuinely one of those "small function, big personality" situations. it does one thing, it does it atomically, and it does it with full ordering. no notes. π
πΈ NAME πΈ
raw_atomic_long_add_return β atomic add with full ordering, iykyk π
β¨ SYNOPSIS β¨
long raw_atomic_long_add_return (long i , atomic_long_t *v );
π¦ ARGUMENTS π¦
iβ thelongvalue you're adding. yes it's just the number going in, she's the main character of the addition πvβ pointer toatomic_long_t. this is the thing getting updated, bestie π«Ά
π DESCRIPTION π
so basically, it atomically updates v to (v + i) with full ordering. that's it, that's the whole vibe. no cap, it does exactly what it says on the tin β¨
it's also safe to use in noinstr code β which, iconic. but listen: prefer atomic_long_add_return everywhere else, okay? raw_ is for the special noinstr situations, not for everyday slaying π
π RETURN π
the updated value of v β she gives you the result after the add, so you don't gotta do the math yourself π
β SEE ALSO β
the kernel file it lives in:
./include/linux/atomic/atomic-long.h
and the whole friend group, fr fr β the entire atomic_long family, no gatekeeping π
raw_atomic_long_read(9),raw_atomic_long_read_acquire(9)raw_atomic_long_set(9),raw_atomic_long_set_release(9)raw_atomic_long_add(9)raw_atomic_long_add_return_acquire(9),raw_atomic_long_add_return_release(9),raw_atomic_long_add_return_relaxed(9)raw_atomic_long_fetch_add(9),raw_atomic_long_fetch_add_acquire(9),raw_atomic_long_fetch_add_release(9),raw_atomic_long_fetch_add_relaxed(9)raw_atomic_long_sub(9)raw_atomic_long_sub_return(9),raw_atomic_long_sub_return_acquire(9),raw_atomic_long_sub_return_release(9),raw_atomic_long_sub_return_relaxed(9)raw_atomic_long_fetch_sub(9),raw_atomic_long_fetch_sub_acquire(9),raw_atomic_long_fetch_sub_release(9),raw_atomic_long_fetch_sub_relaxed(9)raw_atomic_long_inc(9)raw_atomic_long_inc_return(9),raw_atomic_long_inc_return_acquire(9),raw_atomic_long_inc_return_release(9),raw_atomic_long_inc_return_relaxed(9)raw_atomic_long_fetch_inc(9),raw_atomic_long_fetch_inc_acquire(9),raw_atomic_long_fetch_inc_release(9),raw_atomic_long_fetch_inc_relaxed(9)raw_atomic_long_dec(9)raw_atomic_long_dec_return(9),raw_atomic_long_dec_return_acquire(9),raw_atomic_long_dec_return_release(9),raw_atomic_long_dec_return_relaxed(9)raw_atomic_long_fetch_dec(9),raw_atomic_long_fetch_dec_acquire(9),raw_atomic_long_fetch_dec_release(9),raw_atomic_long_fetch_dec_relaxed(9)raw_atomic_long_and(9)raw_atomic_long_fetch_and(9),raw_atomic_long_fetch_and_acquire(9),raw_atomic_long_fetch_and_release(9),raw_atomic_long_fetch_and_relaxed(9)raw_atomic_long_andnot(9)raw_atomic_long_fetch_andnot(9),raw_atomic_long_fetch_andnot_acquire(9),raw_atomic_long_fetch_andnot_release(9),raw_atomic_long_fetch_andnot_relaxed(9)raw_atomic_long_or(9)raw_atomic_long_fetch_or(9),raw_atomic_long_fetch_or_acquire(9),raw_atomic_long_fetch_or_release(9),raw_atomic_long_fetch_or_relaxed(9)raw_atomic_long_xor(9)raw_atomic_long_fetch_xor(9),raw_atomic_long_fetch_xor_acquire(9),raw_atomic_long_fetch_xor_release(9),raw_atomic_long_fetch_xor_relaxed(9)raw_atomic_long_xchg(9),raw_atomic_long_xchg_acquire(9),raw_atomic_long_xchg_release(9),raw_atomic_long_xchg_relaxed(9)raw_atomic_long_cmpxchg(9),raw_atomic_long_cmpxchg_acquire(9),raw_atomic_long_cmpxchg_release(9),raw_atomic_long_cmpxchg_relaxed(9)raw_atomic_long_try_cmpxchg(9),raw_atomic_long_try_cmpxchg_acquire(9),raw_atomic_long_try_cmpxchg_release(9),raw_atomic_long_try_cmpxchg_relaxed(9)raw_atomic_long_sub_and_test(9),raw_atomic_long_dec_and_test(9),raw_atomic_long_inc_and_test(9)raw_atomic_long_add_negative(9),raw_atomic_long_add_negative_acquire(9),raw_atomic_long_add_negative_release(9),raw_atomic_long_add_negative_relaxed(9)raw_atomic_long_fetch_add_unless(9),raw_atomic_long_add_unless(9)raw_atomic_long_inc_not_zero(9)raw_atomic_long_inc_unless_negative(9),raw_atomic_long_dec_unless_positive(9),raw_atomic_long_dec_if_positive(9)
lowkey that's a lot of siblings but they all ate π every single one of them has a page, go read 'em iykyk
and that's the page bestie!! π§ this one's from the source file ./include/linux/atomic, dated October 2026, and the header title is raw_atomic_long_add_return(9) under the Kernel API Manual β mwah, periodt ππβ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms