Home
last modified time | relevance | path

Searched refs:ACQUIRE (Results 1 – 23 of 23) sorted by relevance

/linux/tools/memory-model/
H A Dlinux-kernel.def14 smp_load_acquire(X) __load{ACQUIRE}(*X)
34 xchg_acquire(X,V) __xchg{ACQUIRE}(X,V)
37 cmpxchg_acquire(X,V,W) __cmpxchg{ACQUIRE}(X,V,W)
77 atomic_add_return_acquire(V,X) __atomic_op_return{ACQUIRE}(X,+,V)
81 atomic_fetch_add_acquire(V,X) __atomic_fetch_op{ACQUIRE}(X,+,V)
86 atomic_fetch_and_acquire(V,X) __atomic_fetch_op{ACQUIRE}(X,&,V)
91 atomic_fetch_or_acquire(V,X) __atomic_fetch_op{ACQUIRE}(X,|,V)
96 atomic_fetch_xor_acquire(V,X) __atomic_fetch_op{ACQUIRE}(X,^,V)
101 atomic_inc_return_acquire(X) __atomic_op_return{ACQUIRE}(X,+,1)
105 atomic_fetch_inc_acquire(X) __atomic_fetch_op{ACQUIRE}(X,+,1)
[all …]
H A Dlinux-kernel.bell18 'ACQUIRE (*smp_load_acquire*) ||
45 let Acquire = ACQUIRE \ W \ FailedRMW
88 let Marked = (~M) | IW | ONCE | RELEASE | ACQUIRE | MB | RMW |
/linux/tools/memory-model/Documentation/
H A Dherd-representation.txt24 # link, and W[ACQUIRE] are not included in the Acquire set.
39 | smp_load_acquire | R[ACQUIRE] |
86 | atomic_add_return_acquire | R*[ACQUIRE] ->rmw W*[ACQUIRE] |
107 | atomic_cmpxchg_acquire | On success: R*[ACQUIRE] ->rmw W*[ACQUIRE] |
108 | | On failure: R*[ACQUIRE] |
/linux/drivers/pci/
H A Dtsm.c203 ACQUIRE(mutex_intr, lock)(&tsm_pf0->lock); in pci_tsm_connect()
237 ACQUIRE(rwsem_read_intr, lock)(&pci_tsm_rwsem); in connect_show()
270 ACQUIRE(rwsem_write_kill, lock)(&pci_tsm_rwsem); in connect_store()
415 ACQUIRE(rwsem_read_intr, lock)(&pci_tsm_rwsem); in pci_tsm_guest_req()
426 ACQUIRE(mutex_intr, ops_lock)(&tsm_pf0->lock); in pci_tsm_guest_req()
477 ACQUIRE(rwsem_write_kill, lock)(&pci_tsm_rwsem); in disconnect_store()
501 ACQUIRE(rwsem_read_intr, lock)(&pci_tsm_rwsem); in bound_show()
510 ACQUIRE(mutex_intr, ops_lock)(&tsm_pf0->lock); in bound_show()
527 ACQUIRE(rwsem_read_intr, lock)(&pci_tsm_rwsem); in dsm_show()
/linux/Documentation/translations/zh_CN/core-api/
H A Drefcount-vs-atomic.rst52 ACQUIRE内存顺序保证了同一CPU上的所有后加载和存储的指令(所有程序顺序较后
128 * 完全有序的 --> RELEASE顺序 + 成功后ACQUIRE顺序
/linux/include/linux/
H A Dpm_runtime.h631 ACQUIRE(pm_runtime_active_try, _var)(_dev)
634 ACQUIRE(pm_runtime_active_auto_try, _var)(_dev)
637 ACQUIRE(pm_runtime_active_try_enabled, _var)(_dev)
640 ACQUIRE(pm_runtime_active_auto_try_enabled, _var)(_dev)
H A Dcleanup.h428 #define ACQUIRE(_name, _var) CLASS(_name, _var) macro
/linux/Documentation/
H A Datomic_bitops.txt63 Except for a successful test_and_set_bit_lock() which has ACQUIRE semantics,
65 ACQUIRE semantics.
H A Dmemory-barriers.txt474 (5) ACQUIRE operations.
477 operations after the ACQUIRE operation will appear to happen after the
478 ACQUIRE operation with respect to the other components of the system.
479 ACQUIRE operations include LOCK operations and both smp_load_acquire()
482 Memory operations that occur before an ACQUIRE operation may appear to
485 An ACQUIRE operation should almost always be paired with a RELEASE
500 The use of ACQUIRE and RELEASE operations generally precludes the need
501 for other sorts of memory barrier. In addition, a RELEASE+ACQUIRE pair is
503 ACQUIRE on a given variable, all memory accesses preceding any prior
509 This means that ACQUIRE acts as a minimal "acquire" operation and
[all …]
H A Datomic_t.txt177 {}_acquire: the R of the RMW (or atomic_read) is an ACQUIRE
233 is an ACQUIRE pattern (though very much not typical), but again the barrier is
234 strictly stronger than ACQUIRE. As illustrated:
/linux/Documentation/trace/rv/
H A Dlinear_temporal_logic.rst95 RULE = always (ACQUIRE imply ((not KILLED and not CRASHED) until RELEASE))
97 which says: if `ACQUIRE`, then `RELEASE` must happen before `KILLED` or
104 RULE = always (ACQUIRE imply (ALIVE until RELEASE))
/linux/Documentation/translations/sp_SP/
H A Dmemory-barriers.txt504 (5) ACQUIRE (de adquisición).
507 toda las operaciones de memoria después de la operación ACQUIRE
508 parezcan suceder después de la ACQUIRE con respecto a los demás
509 componentes del sistema. Las operaciones ACQUIRE incluyen operaciones
512 Las operaciones de memoria que ocurren antes de una operación ACQUIRE
515 Una operación ACQUIRE casi siempre debe estar emparejada con una
530 El uso de las operaciones ACQUIRE y RELEASE generalmente excluye la
532 RELEASE+ACQUIRE NO garantiza actuar como una barrera de memoria
533 completa. Sin embargo, después de un ACQUIRE de una variable dada,
540 Esto significa que ACQUIRE actúa como una operación mínima de
[all …]
/linux/drivers/cxl/core/
H A Dregion.c152 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in uuid_show()
199 ACQUIRE(rwsem_write_kill, region_rwsem)(&cxl_rwsem.region); in uuid_store()
362 ACQUIRE(rwsem_write_kill, rwsem)(&cxl_rwsem.region); in queue_reset()
380 ACQUIRE(rwsem_write_kill, rwsem)(&cxl_rwsem.region); in __commit()
466 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in commit_show()
480 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in interleave_ways_show()
518 ACQUIRE(rwsem_write_kill, rwsem)(&cxl_rwsem.region); in interleave_ways_store()
545 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in interleave_granularity_show()
581 ACQUIRE(rwsem_write_kill, rwsem)(&cxl_rwsem.region); in interleave_granularity_store()
602 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in resource_show()
[all …]
H A Dmemdev.c242 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in cxl_trigger_poison_list()
246 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_trigger_poison_list()
334 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in cxl_inject_poison()
338 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_inject_poison()
403 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in cxl_clear_poison()
407 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_clear_poison()
H A Dedac.c118 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in cxl_scrub_get_attrbs()
160 ACQUIRE(rwsem_read_intr, rwsem)(&cxl_rwsem.region); in cxl_scrub_set_attrbs_region()
1343 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in cxl_mem_perform_sparing()
1347 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_mem_perform_sparing()
1789 ACQUIRE(rwsem_read_intr, region_rwsem)(&cxl_rwsem.region); in cxl_mem_perform_ppr()
1793 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_mem_perform_ppr()
H A Dmbox.c1435 ACQUIRE(mutex_intr, lock)(&mds->poison.mutex); in cxl_mem_get_poison()
/linux/Documentation/core-api/
H A Drefcount-vs-atomic.rst57 An ACQUIRE memory ordering guarantees that all post loads and
151 * fully ordered --> ACQUIRE ordering on success
164 * fully ordered --> RELEASE ordering + ACQUIRE ordering on success
/linux/Documentation/translations/zh_CN/locking/
H A Dspinlocks.rst35 (5) ACQUIRE operations.
/linux/drivers/iio/adc/
H A Drzn1-adc.c252 ACQUIRE(pm_runtime_active_auto_try_enabled, pm)(rzn1_adc->dev); in rzn1_adc_read_raw_ch()
/linux/include/linux/iio/
H A Diio.h781 ACQUIRE(__priv__iio_dev_mode_lock_try_direct, claim)(dev)
/linux/Documentation/locking/
H A Dspinlocks.rst28 (5) ACQUIRE operations.
/linux/drivers/i2c/busses/
H A Di2c-designware-common.c961 ACQUIRE(pm_runtime_noresume, pm)(dev->dev); in i2c_dw_probe()
/linux/arch/arm64/tools/
H A Dsysreg839 0b0010 ACQUIRE