Home
last modified time | relevance | path

Searched refs:atomic_try_cmpxchg (Results 1 – 25 of 31) sorted by relevance

12

/linux/tools/include/linux/
H A Datomic.h15 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 Datomic_t.txt39 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 Drequeue.c126 } 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 Dticket_spinlock.h60 return atomic_try_cmpxchg(&lock->val, &old, old + (1<<16)); /* SC, for RCsc */ in ticket_spin_trylock()
/linux/drivers/misc/
H A Dntsync.c278 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 Datomic.rs424 "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 Dtimer_migration.c690 } 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 Dtick-sched.c216 if (inp || !atomic_try_cmpxchg(&in_progress, &inp, 1)) in tick_limited_update_jiffies64()
/linux/net/rxrpc/
H A Dconn_object.c431 if (!atomic_try_cmpxchg(&conn->active, &active, -1)) in rxrpc_service_connection_reaper()
/linux/arch/x86/kernel/cpu/
H A Dmshyperv.c390 if (!atomic_try_cmpxchg(&nmi_cpu, &old_cpu, this_cpu)) in hv_nmi_unknown()
/linux/drivers/gpu/drm/i915/
H A Di915_sw_fence.c234 } while (!atomic_try_cmpxchg(&fence->pending, &pending, pending + 1)); in i915_sw_fence_await()
/linux/drivers/ptp/
H A Dptp_vmclock.c423 if (atomic_try_cmpxchg(&fst->seq, &old_seq, seq) || in vmclock_miscdev_read()
/linux/drivers/net/ipa/
H A Dgsi_trans.c311 } while (!atomic_try_cmpxchg(&trans_info->tre_avail, &avail, new)); in gsi_trans_tre_reserve()
/linux/lib/
H A Dsbitmap.c629 } while (!atomic_try_cmpxchg(&sbq->wakeup_cnt, in sbitmap_queue_wake_up()
/linux/rust/helpers/
H A Datomic.c425 return atomic_try_cmpxchg(v, old, new); in rust_helper_atomic_cmpxchg_relaxed()
/linux/kernel/printk/
H A Dnbcon.c159 return atomic_try_cmpxchg(&ACCESS_PRIVATE(con, nbcon_state), &cur->atom, new->atom); in nbcon_state_try_cmpxchg()
/linux/mm/kasan/
H A Dkasan_test_c.c789 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 Dblk-iolatency.c423 if (!atomic_try_cmpxchg(&iolat->scale_cookie, &our_cookie, cur_cookie)) { in check_scale_change()
/linux/arch/x86/kernel/apic/
H A Dapic.c365 } while (!atomic_try_cmpxchg(&eilvt_offsets[offset], &rsvd, new)); in reserve_eilvt_offset()
/linux/samples/vfio-mdev/
H A Dmbochs.c527 } while (!atomic_try_cmpxchg(&mbochs_avail_mbytes, &avail_mbytes, in mbochs_init_dev()
H A Dmtty.c1322 } while (!atomic_try_cmpxchg(&mdev_avail_ports, in mtty_init_dev()
/linux/net/ipv4/
H A Dicmp.c263 } while (!atomic_try_cmpxchg(&net->ipv4.icmp_global_credit, &old, new)); in icmp_global_allow()
/linux/sound/usb/
H A Dendpoint.c140 return atomic_try_cmpxchg(&ep->state, &old, new); in ep_state_update()
/linux/io_uring/
H A Dzcrx.c354 } while (!atomic_try_cmpxchg(uref, &old, old - 1)); in io_zcrx_put_niov_uref()
/linux/mm/
H A Drmap.c768 if (!atomic_try_cmpxchg(&mm->tlb_flush_batched, &batch, 1)) in set_tlb_ubc_flush_pending()

12