| /linux/tools/include/linux/ |
| H A D | atomic.h | 15 static inline bool atomic_try_cmpxchg(atomic_t *ptr, int *oldp, int new) in atomic_try_cmpxchg() function 32 } while (!atomic_try_cmpxchg(v, &c, c + 1)); in atomic_inc_unless_negative()
|
| /linux/Documentation/ |
| H A D | atomic_t.txt | 39 atomic_try_cmpxchg{,_relaxed,_acquire,_release}() 280 bool atomic_try_cmpxchg(atomic_t *ptr, int *oldp, int new); 285 bool atomic_try_cmpxchg(atomic_t *ptr, int *oldp, int new) 298 (void)atomic_try_cmpxchg(ptr, &old, new); 307 tmp = atomic_cmpxchg(&v, old, new); } while (!atomic_try_cmpxchg(&v, &old, new)); 334 } while (!atomic_try_cmpxchg(&v, &old, new));
|
| /linux/kernel/futex/ |
| H A D | requeue.c | 126 } while (!atomic_try_cmpxchg(&q->requeue_state, &old, new)); in futex_requeue_pi_prepare() 154 } while (!atomic_try_cmpxchg(&q->requeue_state, &old, new)); in futex_requeue_pi_complete() 180 } while (!atomic_try_cmpxchg(&q->requeue_state, &old, new)); in futex_requeue_pi_wakeup_sync()
|
| /linux/include/asm-generic/ |
| H A D | ticket_spinlock.h | 60 return atomic_try_cmpxchg(&lock->val, &old, old + (1<<16)); /* SC, for RCsc */ in ticket_spin_trylock()
|
| /linux/drivers/misc/ |
| H A D | ntsync.c | 278 if (can_wake && atomic_try_cmpxchg(&q->signaled, &signaled, 0)) { in try_wake_all() 333 if (atomic_try_cmpxchg(&q->signaled, &signaled, entry->index)) { in try_wake_any_sem() 356 if (atomic_try_cmpxchg(&q->signaled, &signaled, entry->index)) { in try_wake_any_mutex() 381 if (atomic_try_cmpxchg(&q->signaled, &signaled, entry->index)) { in try_wake_any_event()
|
| /linux/rust/kernel/sync/ |
| H A D | atomic.rs | 424 "atomic_try_cmpxchg", in cmpxchg() 440 // 44fe84459faf ("locking/atomic: Fix atomic_try_cmpxchg() semantics"), the in cmpxchg() 441 // atomic_try_cmpxchg() on x86 has a branch even if the caller doesn't care about the in cmpxchg() 480 // INVARIANT: `self.0` is a valid `T` after `atomic_try_cmpxchg*()` because `new` is in try_cmpxchg() 484 OrderingType::Full => T::Repr::atomic_try_cmpxchg(&self.0, &mut tmp, new),
|
| /linux/kernel/time/ |
| H A D | timer_migration.c | 690 } while (!atomic_try_cmpxchg(&group->migr_state, &curstate.state, newstate.state)); in tmigr_active_up() 1327 if (atomic_try_cmpxchg(&group->migr_state, &curstate.state, newstate.state)) { in tmigr_inactive_up()
|
| H A D | tick-sched.c | 216 if (inp || !atomic_try_cmpxchg(&in_progress, &inp, 1)) in tick_limited_update_jiffies64()
|
| /linux/net/rxrpc/ |
| H A D | conn_object.c | 431 if (!atomic_try_cmpxchg(&conn->active, &active, -1)) in rxrpc_service_connection_reaper()
|
| /linux/arch/x86/kernel/cpu/ |
| H A D | mshyperv.c | 390 if (!atomic_try_cmpxchg(&nmi_cpu, &old_cpu, this_cpu)) in hv_nmi_unknown()
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | i915_sw_fence.c | 234 } while (!atomic_try_cmpxchg(&fence->pending, &pending, pending + 1)); in i915_sw_fence_await()
|
| /linux/drivers/ptp/ |
| H A D | ptp_vmclock.c | 423 if (atomic_try_cmpxchg(&fst->seq, &old_seq, seq) || in vmclock_miscdev_read()
|
| /linux/drivers/net/ipa/ |
| H A D | gsi_trans.c | 311 } while (!atomic_try_cmpxchg(&trans_info->tre_avail, &avail, new)); in gsi_trans_tre_reserve()
|
| /linux/lib/ |
| H A D | sbitmap.c | 629 } while (!atomic_try_cmpxchg(&sbq->wakeup_cnt, in sbitmap_queue_wake_up()
|
| /linux/rust/helpers/ |
| H A D | atomic.c | 425 return atomic_try_cmpxchg(v, old, new); in rust_helper_atomic_cmpxchg_relaxed()
|
| /linux/kernel/printk/ |
| H A D | nbcon.c | 159 return atomic_try_cmpxchg(&ACCESS_PRIVATE(con, nbcon_state), &cur->atom, new->atom); in nbcon_state_try_cmpxchg()
|
| /linux/mm/kasan/ |
| H A D | kasan_test_c.c | 789 KUNIT_EXPECT_KASAN_FAIL(test, atomic_try_cmpxchg(unsafe, safe, 42)); in kasan_atomics_helper() 796 KUNIT_EXPECT_KASAN_FAIL(test, atomic_try_cmpxchg(safe, unsafe, 42)); in kasan_atomics_helper()
|
| /linux/block/ |
| H A D | blk-iolatency.c | 423 if (!atomic_try_cmpxchg(&iolat->scale_cookie, &our_cookie, cur_cookie)) { in check_scale_change()
|
| /linux/arch/x86/kernel/apic/ |
| H A D | apic.c | 365 } while (!atomic_try_cmpxchg(&eilvt_offsets[offset], &rsvd, new)); in reserve_eilvt_offset()
|
| /linux/samples/vfio-mdev/ |
| H A D | mbochs.c | 527 } while (!atomic_try_cmpxchg(&mbochs_avail_mbytes, &avail_mbytes, in mbochs_init_dev()
|
| H A D | mtty.c | 1322 } while (!atomic_try_cmpxchg(&mdev_avail_ports, in mtty_init_dev()
|
| /linux/net/ipv4/ |
| H A D | icmp.c | 263 } while (!atomic_try_cmpxchg(&net->ipv4.icmp_global_credit, &old, new)); in icmp_global_allow()
|
| /linux/sound/usb/ |
| H A D | endpoint.c | 140 return atomic_try_cmpxchg(&ep->state, &old, new); in ep_state_update()
|
| /linux/io_uring/ |
| H A D | zcrx.c | 354 } while (!atomic_try_cmpxchg(uref, &old, old - 1)); in io_zcrx_put_niov_uref()
|
| /linux/mm/ |
| H A D | rmap.c | 768 if (!atomic_try_cmpxchg(&mm->tlb_flush_batched, &batch, 1)) in set_tlb_ubc_flush_pending()
|