Pull locking updates from Ingo Molnar: - Micro-optimize local_xchg() and the rtmutex code on x86 - Fix percpu-rwsem contention tracepoints - Simplify debugging Kconfig dependencies - Update/clarify the documentation of atomic primitives - Misc cleanups * tag 'locking-core-2024-03-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: locking/rtmutex: Use try_cmpxchg_relaxed() in mark_rt_mutex_waiters() locking/x86: Implement local_xchg() using CMPXCHG without the LOCK prefix locking/percpu-rwsem: Trigger contention tracepoints only if contended locking/rwsem: Make DEBUG_RWSEMS and PREEMPT_RT mutually exclusive locking/rwsem: Clarify that RWSEM_READER_OWNED is just a hint locking/mutex: Simplify <linux/mutex.h> locking/qspinlock: Fix 'wait_early' set but not used warning locking/atomic: scripts: Clarify ordering of conditional atomics
Showing the changes to scripts (7 of 17 files). Show all
Unified · Split
| @@ -10,6 +10,7 @@ cat <<EOF · 9 unmodified lines | ||
| 10 | 10 | * @u: ${int} value to compare with |
| 11 | 11 | * |
| 12 | 12 | * If (@v != @u), atomically updates @v to (@v + @a) with ${desc_order} ordering. |
| 13 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 13 | 14 | * |
| 14 | 15 | * ${desc_noinstr} |
| 15 | 16 | * |
| @@ -6,6 +6,7 @@ cat <<EOF · 5 unmodified lines | ||
| 6 | 6 | * @new: ${int} value to assign |
| 7 | 7 | * |
| 8 | 8 | * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering. |
| 9 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 9 | 10 | * |
| 10 | 11 | * ${desc_noinstr} |
| 11 | 12 | * |
| @@ -4,6 +4,7 @@ cat <<EOF · 3 unmodified lines | ||
| 4 | 4 | * @v: pointer to ${atomic}_t |
| 5 | 5 | * |
| 6 | 6 | * If (@v > 0), atomically updates @v to (@v - 1) with ${desc_order} ordering. |
| 7 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 7 | 8 | * |
| 8 | 9 | * ${desc_noinstr} |
| 9 | 10 | * |
| @@ -4,6 +4,7 @@ cat <<EOF · 3 unmodified lines | ||
| 4 | 4 | * @v: pointer to ${atomic}_t |
| 5 | 5 | * |
| 6 | 6 | * If (@v <= 0), atomically updates @v to (@v - 1) with ${desc_order} ordering. |
| 7 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 7 | 8 | * |
| 8 | 9 | * ${desc_noinstr} |
| 9 | 10 | * |
| @@ -4,6 +4,7 @@ cat <<EOF · 3 unmodified lines | ||
| 4 | 4 | * @v: pointer to ${atomic}_t |
| 5 | 5 | * |
| 6 | 6 | * If (@v != 0), atomically updates @v to (@v + 1) with ${desc_order} ordering. |
| 7 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 7 | 8 | * |
| 8 | 9 | * ${desc_noinstr} |
| 9 | 10 | * |
| @@ -4,6 +4,7 @@ cat <<EOF · 3 unmodified lines | ||
| 4 | 4 | * @v: pointer to ${atomic}_t |
| 5 | 5 | * |
| 6 | 6 | * If (@v >= 0), atomically updates @v to (@v + 1) with ${desc_order} ordering. |
| 7 | + * Otherwise, @v is not modified and relaxed ordering is provided. | |
| 7 | 8 | * |
| 8 | 9 | * ${desc_noinstr} |
| 9 | 10 | * |
| @@ -6,7 +6,8 @@ cat <<EOF · 5 unmodified lines | ||
| 6 | 6 | * @new: ${int} value to assign |
| 7 | 7 | * |
| 8 | 8 | * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering. |
| 9 | − * Otherwise, updates @old to the current value of @v. | |
| 9 | + * Otherwise, @v is not modified, @old is updated to the current value of @v, | |
| 10 | + * and relaxed ordering is provided. | |
| 10 | 11 | * |
| 11 | 12 | * ${desc_noinstr} |
| 12 | 13 | * |