Home
last modified time | relevance | path

Searched refs:cmpxchg (Results 1 – 25 of 237) sorted by relevance

12345678910

/linux/scripts/atomic/
A Dgen-atomic-fallback.sh227 local cmpxchg="$1"; shift;
244 local cmpxchg="$1"; shift
249 printf "#define raw_try_${cmpxchg}${order} arch_try_${cmpxchg}${order}\n"
258 printf "#elif defined(arch_try_${cmpxchg})\n"
259 printf "#define raw_try_${cmpxchg}${order} arch_try_${cmpxchg}\n"
269 local cmpxchg="$1"; shift;
279 local cmpxchg="$1"; shift
282 printf "#define raw_${prefix}${cmpxchg}${suffix} arch_${prefix}${cmpxchg}${suffix}\n\n"
284 printf "#define raw_${prefix}try_${cmpxchg}${suffix} arch_${prefix}try_${cmpxchg}${suffix}\n"
308 gen_try_cmpxchg_order_fallbacks "${cmpxchg}"
[all …]
/linux/Documentation/litmus-tests/atomic/
A Dcmpxchg-fail-unordered-2.litmus1 C cmpxchg-fail-unordered-2
6 * Demonstrate that a failing cmpxchg() operation does not act as either
7 * an acquire release operation. (In contrast, a successful cmpxchg()
18 r1 = cmpxchg(y, 0, 1);
26 r1 = cmpxchg(y, 0, 1);
A Dcmpxchg-fail-unordered-1.litmus1 C cmpxchg-fail-unordered-1
6 * Demonstrate that a failing cmpxchg() operation does not act as a
7 * full barrier. (In contrast, a successful cmpxchg() does act as a
19 r1 = cmpxchg(z, 1, 0);
29 r1 = cmpxchg(z, 1, 0);
A Dcmpxchg-fail-ordered-2.litmus1 C cmpxchg-fail-ordered-2
6 * Demonstrate use of smp_mb__after_atomic() to make a failing cmpxchg
17 r1 = cmpxchg(y, 0, 1);
25 r1 = cmpxchg(y, 0, 1);
A Dcmpxchg-fail-ordered-1.litmus1 C cmpxchg-fail-ordered-1
6 * Demonstrate that a failing cmpxchg() operation will act as a full
18 r1 = cmpxchg(z, 1, 0);
29 r1 = cmpxchg(z, 1, 0);
/linux/net/ipv4/
A Dprotocol.c34 return !cmpxchg((const struct net_protocol **)&inet_protos[protocol], in inet_add_protocol()
41 return !cmpxchg((const struct net_offload **)&inet_offloads[protocol], in inet_add_offload()
50 ret = (cmpxchg((const struct net_protocol **)&inet_protos[protocol], in inet_del_protocol()
63 ret = (cmpxchg((const struct net_offload **)&inet_offloads[protocol], in inet_del_offload()
A Dgre_demux.c36 return (cmpxchg((const struct gre_protocol **)&gre_proto[version], NULL, proto) == NULL) ? in gre_add_protocol()
48 ret = (cmpxchg((const struct gre_protocol **)&gre_proto[version], proto, NULL) == proto) ? in gre_del_protocol()
/linux/net/ipv6/
A Dprotocol.c30 return !cmpxchg((const struct inet6_protocol **)&inet6_protos[protocol], in inet6_add_protocol()
39 ret = (cmpxchg((const struct inet6_protocol **)&inet6_protos[protocol], in inet6_del_protocol()
54 return !cmpxchg((const struct net_offload **)&inet6_offloads[protocol], in inet6_add_offload()
63 ret = (cmpxchg((const struct net_offload **)&inet6_offloads[protocol], in inet6_del_offload()
A Dip6_icmp.c18 return (cmpxchg((ip6_icmp_send_t **)&ip6_icmp_send, NULL, fn) == NULL) ? in inet6_register_icmp_sender()
27 ret = (cmpxchg((ip6_icmp_send_t **)&ip6_icmp_send, fn, NULL) == fn) ? in inet6_unregister_icmp_sender()
/linux/Documentation/litmus-tests/
A DREADME24 cmpxchg-fail-ordered-1.litmus
25 Demonstrate that a failing cmpxchg() operation acts as a full barrier
28 cmpxchg-fail-ordered-2.litmus
29 Demonstrate that a failing cmpxchg() operation acts as an acquire
32 cmpxchg-fail-unordered-1.litmus
33 Demonstrate that a failing cmpxchg() operation does not act as a
36 cmpxchg-fail-unordered-2.litmus
37 Demonstrate that a failing cmpxchg() operation does not act as an
/linux/tools/testing/memblock/
A DMakefile33 test -L asm/cmpxchg.h || ln -s ../../../arch/x86/include/asm/cmpxchg.h asm/cmpxchg.h
39 $(RM) $(TARGETS) $(OFILES) linux/memblock.h memblock.c asm/asm.h asm/cmpxchg.h
A D.gitignore5 asm/cmpxchg.h
/linux/tools/include/asm-generic/
A Datomic-gcc.h65 #define cmpxchg(ptr, oldval, newval) \ macro
70 return cmpxchg(&(v)->counter, oldval, newval); in atomic_cmpxchg()
/linux/lib/
A Derrseq.c95 cur = cmpxchg(eseq, old, new); in errseq_set()
201 cmpxchg(eseq, old, new); in errseq_check_and_advance()
/linux/Documentation/translations/zh_CN/locking/
A Dmutex-design.rst48 (i) 快速路径:试图通过调用cmpxchg()修改锁的所有者为当前任务,以此原子化地
49 获取锁。这只在无竞争的情况下有效(cmpxchg()检查值是否为0,所以3个状态
/linux/drivers/accessibility/speakup/
A Dselection.c71 if (cmpxchg(&speakup_sel_work.tty, NULL, tty)) { in speakup_set_selection()
124 if (cmpxchg(&speakup_paste_work.tty, NULL, tty)) { in speakup_paste_selection()
/linux/arch/sh/kernel/cpu/sh2/
A Dsmp-j2.c28 while (cmpxchg(pmsg, messages, 0) != messages); in j2_ipi_interrupt_handler()
118 while (cmpxchg(pmsg, old, old|(1U<<message)) != old); in j2_send_ipi()
/linux/kernel/kcsan/
A Dselftest.c153 KCSAN_CHECK_READ_BARRIER(cmpxchg(&test_var, 0, 0)); in test_barrier()
182 KCSAN_CHECK_WRITE_BARRIER(cmpxchg(&test_var, 0, 0)); in test_barrier()
214 KCSAN_CHECK_RW_BARRIER(cmpxchg(&test_var, 0, 0)); in test_barrier()
/linux/kernel/trace/
A Dtrace_recursion_record.c78 old = cmpxchg(&recursed_functions[index].ip, 0, ip); in ftrace_record_recursion()
112 cmpxchg(&recursed_functions[index].ip, ip, 0); in ftrace_record_recursion()
/linux/Documentation/locking/
A Drt-mutex.rst42 without waiters. The optimized fastpath operations require cmpxchg
66 with ->wait_lock is held. To prevent any fast path cmpxchg to the lock,
72 To prevent a cmpxchg of the owner releasing the lock, we need to
/linux/fs/nfs/
A Dnfs3acl.c25 cmpxchg(p, ACL_NOT_CACHED, sentinel); in nfs3_prepare_get_acl()
34 if (cmpxchg(p, sentinel, acl) != sentinel) in nfs3_complete_get_acl()
43 cmpxchg(p, sentinel, ACL_NOT_CACHED); in nfs3_abort_get_acl()
/linux/arch/nios2/include/asm/
A DKbuild4 generic-y += cmpxchg.h
/linux/arch/microblaze/include/asm/
A DKbuild3 generic-y += cmpxchg.h
/linux/Documentation/features/locking/cmpxchg-local/
A Darch-support.txt2 # Feature name: cmpxchg-local
/linux/drivers/dma-buf/
A Ddma-fence-array.c36 cmpxchg(&array->base.error, PENDING_ERROR, error); in dma_fence_array_set_pending_error()
42 cmpxchg(&array->base.error, PENDING_ERROR, 0); in dma_fence_array_clear_pending_error()

Completed in 35 milliseconds

12345678910