raw_atomic_long_inc_return(9)
πΈ raw_atomic_long_inc_return β Kernel API Manual πΈ
okay so bestie, gather round, because today's main character is raw_atomic_long_inc_return(9) and it is literally the raw, unfiltered version of an atomic increment. yes, "raw" is right there in the name, she's not hiding it π
β¨ NAME β¨
raw_atomic_long_inc_return β atomic increment with full ordering π
π¦ SYNOPSIS π¦
long raw_atomic_long_inc_return (atomic_long_t *v );
like, that's the whole invocation. one pointer in, one long out, no cap π«Ά
π ARGUMENTS π
vβ pointer toatomic_long_t. she's the one getting incremented, bestie, show her some respect β¨
π DESCRIPTION π
Atomically updates v to (v + 1) with full ordering. that's it, that's the whole vibe β one clean, all-or-nothing bump, and the ordering is full, so the memory ordering is doing the absolute most for you π₯
She's safe to use in noinstr code; prefer atomic_long_inc_return elsewhere. ngl this is the key detail: noinstr gets the raw one, everywhere else you go to atomic_long_inc_return. iykyk π
π RETURN π
The updated value of v. so you get the new number back, not the old one β post-increment energy, she ate π
π§ SEE ALSO π§
Kernel file ./include/linux/atomic/atomic-long.h β that's the neighborhood she lives in, go say hi π‘
and the whole extended family, because this API is huge and we love a big family:
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(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_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)
okay that was a lot of names but every single one of them matters, we do not skip the boring parts in this house π
quick vibe check, bestie: this page lives at./include/linux/atomic, dated October 2026, and it's brought to you under theraw_atomic_long_inc_return(9)header β that's the kernel API manual doing its thing. go forth and increment atomically, with full ordering, and absolutely slay β¨π π
π¦ 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