linux-yocto/scripts/atomic/fallbacks/fetch_add_unless
Mark Rutland f3e615b4db locking/atomic: remove ARCH_ATOMIC remanants
Now that gen-atomic-fallback.sh is only used to generate the arch_*
fallbacks, we don't need to also generate the non-arch_* forms, and can
removethe infrastructure this needed.

There is no change to any of the generated headers as a result of this
patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210713105253.7615-3-mark.rutland@arm.com
2021-07-16 18:46:44 +02:00

552 B
Executable File

cat << EOF /**

  • arch_${atomic}_fetch_add_unless - add unless the number is already a given value

  • @v: pointer of type ${atomic}_t

  • @a: the amount to add to v...

  • @u: ...unless v is equal to u.

  • Atomically adds @a to @v, so long as @v was not already @u.

  • Returns original value of @v */ static _always_inline ${int} arch${atomic}_fetch_add_unless(${atomic}t *v, ${int} a, ${int} u) { ${int} c = arch${atomic}_read(v);

    do { if (unlikely(c == u)) break; } while (!arch_${atomic}_try_cmpxchg(v, &c, c + a));

    return c; } EOF