Home
last modified time | relevance | path

Searched refs:acquire (Results 1 – 25 of 189) sorted by relevance

12345678

/linux/tools/memory-model/
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_fetch_add_acquire(V,X) __atomic_fetch_op{acquire}(X,+,V)
82 atomic_inc_return_acquire(X) __atomic_op_return{acquire}(X,+,1)
86 atomic_fetch_inc_acquire(X) __atomic_fetch_op{acquire}(X,+,1)
95 atomic_fetch_sub_acquire(V,X) __atomic_fetch_op{acquire}(X,-,V)
100 atomic_dec_return_acquire(X) __atomic_op_return{acquire}(X,-,1)
104 atomic_fetch_dec_acquire(X) __atomic_fetch_op{acquire}(X,-,1)
110 atomic_xchg_acquire(X,V) __xchg{acquire}(X,V)
[all …]
A Dlinux-kernel.bell18 'acquire (*smp_load_acquire*) ||
20 instructions R[{'once,'acquire,'noreturn}]
22 instructions RMW[{'once,'acquire,'release}]
/linux/tools/memory-model/litmus-tests/
A DISA2+pooncerelease+poacquirerelease+poacquireonce.litmus6 * This litmus test demonstrates that a release-acquire chain suffices
8 * that the release-acquire chain suffices is because in all but one
11 * (AKA non-rf) link, so release-acquire is all that is needed.
A DREADME46 and load-acquire replaced with READ_ONCE().
49 Can a release-acquire chain order a prior store against
58 Does a release-acquire pair suffice for the load-buffering
64 and load-acquire replaced with READ_ONCE().
75 in one process, and use an acquire load followed by a pair of
80 acquire load followed by a pair of spin_is_locked() calls
91 As below, but with a release-acquire chain.
134 As below, but without the smp_wmb() and acquire load.
137 Can a smp_wmb(), instead of a release, and an acquire order
157 Is the ordering provided by a release-acquire chain sufficient
[all …]
A DS+fencewmbonceonce+poacquireonce.litmus6 * Can a smp_wmb(), instead of a release, and an acquire order a prior
A DLB+poacquireonce+pooncerelease.litmus6 * Does a release-acquire pair suffice for the load-buffering litmus
A DS+poonceonces.litmus6 * Starting with a two-process release-acquire chain ordering P0()'s
/linux/Documentation/litmus-tests/atomic/
A Dcmpxchg-fail-unordered-2.litmus7 * an acquire release operation. (In contrast, a successful cmpxchg()
8 * does act as both an acquire and a release operation.)
A DAtomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus1 C Atomic-RMW+mb__after_atomic-is-stronger-than-acquire
7 * stronger than a normal acquire: both the read and write parts of
A Dcmpxchg-fail-ordered-2.litmus7 * operation have acquire ordering.
/linux/Documentation/litmus-tests/
A DREADME15 Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus
17 stronger than a normal acquire: both the read and write parts of
29 Demonstrate that a failing cmpxchg() operation acts as an acquire
38 acquire operation.
/linux/Documentation/locking/
A Dfutex-requeue-pi.rst91 to be able to acquire the rt_mutex before returning to user space.
93 acquire the rt_mutex as it would open a race window between the
99 allow the requeue code to acquire an uncontended rt_mutex on behalf
115 requeueing, futex_requeue() attempts to acquire the requeue target
127 tasks as it can acquire the lock for, which in the majority of cases
129 either pthread_cond_broadcast() or pthread_cond_signal() acquire the
A Dww-mutex-design.rst64 trying to acquire locks doesn't grab a new reservation id, but keeps the one it
66 acquire context. Furthermore the acquire context keeps track of debugging state
67 to catch w/w mutex interface abuse. An acquire context is representing a
71 w/w mutexes, since it is required to initialize the acquire context. The lock
74 Furthermore there are three different class of w/w lock acquire functions:
99 * Functions to only acquire a single w/w mutex, which results in the exact same
103 Again this is not strictly required. But often you only want to acquire a
104 single lock in which case it's pointless to set up an acquire context (and so
119 Three different ways to acquire locks within the same w/w class. Common
344 (1) Waiters with an acquire context are sorted by stamp order; waiters
[all …]
A Dmutex-design.rst40 (i) fastpath: tries to atomically acquire the lock by cmpxchg()ing the owner with
54 to acquire the lock spinning on a local variable. It avoids expensive
97 - Point-of-acquire tracking, symbolic lookup of function names,
115 acquire the mutex and assume that the mutex_unlock() context is not using
/linux/drivers/net/ethernet/intel/igc/
A Digc_i225.c201 status = hw->nvm.ops.acquire(hw); in igc_read_nvm_srrd_i225()
299 status = hw->nvm.ops.acquire(hw); in igc_write_nvm_srwr_i225()
325 status = hw->nvm.ops.acquire(hw); in igc_validate_nvm_checksum_i225()
420 ret_val = hw->nvm.ops.acquire(hw); in igc_update_nvm_checksum_i225()
479 nvm->ops.acquire = igc_acquire_nvm_i225; in igc_init_nvm_params_i225()
/linux/drivers/net/ethernet/broadcom/bnx2x/
A Dbnx2x_vfpf.c1365 struct vfpf_acquire_tlv *acquire) in bnx2x_vf_mbx_is_windows_vm() argument
1372 if (!acquire->bulletin_addr || in bnx2x_vf_mbx_is_windows_vm()
1374 ((acquire->vfdev_info.vf_os & VF_OS_MASK) == in bnx2x_vf_mbx_is_windows_vm()
1403 struct vfpf_acquire_tlv *acquire = &mbx->msg->req.acquire; in bnx2x_vf_mbx_acquire() local
1408 vf->abs_vfid, acquire->vfdev_info.vf_id, acquire->vfdev_info.vf_os, in bnx2x_vf_mbx_acquire()
1409 acquire->resc_request.num_rxqs, acquire->resc_request.num_txqs, in bnx2x_vf_mbx_acquire()
1410 acquire->resc_request.num_sbs, acquire->resc_request.num_mac_filters, in bnx2x_vf_mbx_acquire()
1411 acquire->resc_request.num_vlan_filters, in bnx2x_vf_mbx_acquire()
1412 acquire->resc_request.num_mc_filters); in bnx2x_vf_mbx_acquire()
1430 vf->fp_hsi = acquire->vfdev_info.fp_hsi_ver; in bnx2x_vf_mbx_acquire()
[all …]
/linux/tools/memory-model/Documentation/
A Dherd-representation.txt34 | smp_load_acquire | R[acquire] |
82 | atomic_add_return_acquire | R*[acquire] ->rmw W*[once] |
104 | atomic_cmpxchg_acquire | On success: R*[acquire] ->rmw W*[once] |
A Dglossary.txt31 An example special acquire operation is smp_load_acquire(),
33 acquire loads.
35 When an acquire load returns the value stored by a release store
36 to that same variable, (in other words, the acquire load "reads
38 store "happen before" any operations following that load acquire.
/linux/drivers/net/ethernet/intel/e1000e/
A Dphy.c292 ret_val = hw->phy.ops.acquire(hw); in e1000e_read_phy_reg_m88()
317 ret_val = hw->phy.ops.acquire(hw); in e1000e_write_phy_reg_m88()
364 if (!hw->phy.ops.acquire) in __e1000e_read_phy_reg_igp()
367 ret_val = hw->phy.ops.acquire(hw); in __e1000e_read_phy_reg_igp()
431 if (!hw->phy.ops.acquire) in __e1000e_write_phy_reg_igp()
434 ret_val = hw->phy.ops.acquire(hw); in __e1000e_write_phy_reg_igp()
499 if (!hw->phy.ops.acquire) in __e1000_read_kmrn_reg()
502 ret_val = hw->phy.ops.acquire(hw); in __e1000_read_kmrn_reg()
572 if (!hw->phy.ops.acquire) in __e1000_write_kmrn_reg()
575 ret_val = hw->phy.ops.acquire(hw); in __e1000_write_kmrn_reg()
[all …]
A Dich8lan.c216 hw->phy.ops.acquire(hw); in e1000_phy_is_accessible_pchlan()
314 ret_val = hw->phy.ops.acquire(hw); in e1000_init_phy_workarounds_pchlan()
861 ret_val = hw->phy.ops.acquire(hw); in e1000_set_eee_pchlan()
1204 ret_val = hw->phy.ops.acquire(hw); in e1000_enable_ulp_lpt_lp()
1361 ret_val = hw->phy.ops.acquire(hw); in e1000_disable_ulp_lpt_lp()
3360 nvm->ops.acquire(hw); in e1000_read_nvm_spt()
3451 nvm->ops.acquire(hw); in e1000_read_nvm_ich8lan()
3841 nvm->ops.acquire(hw); in e1000_write_nvm_ich8lan()
3879 nvm->ops.acquire(hw); in e1000_update_nvm_checksum_spt()
4040 nvm->ops.acquire(hw); in e1000_update_nvm_checksum_ich8lan()
[all …]
/linux/Documentation/networking/
A Dxfrm_sysctl.rst11 default 30 - hard timeout in seconds for acquire requests
/linux/drivers/net/ethernet/intel/igb/
A De1000_i210.c200 if (!(hw->nvm.ops.acquire(hw))) { in igb_read_nvm_srrd_i210()
300 if (!(hw->nvm.ops.acquire(hw))) { in igb_write_nvm_srwr_i210()
544 if (!(hw->nvm.ops.acquire(hw))) { in igb_validate_nvm_checksum_i210()
590 if (!(hw->nvm.ops.acquire(hw))) { in igb_update_nvm_checksum_i210()
798 nvm->ops.acquire = igb_acquire_nvm_i210; in igb_init_nvm_params_i210()
/linux/drivers/media/dvb-frontends/
A Das102_fe.h14 int (*stream_ctrl)(void *priv, int acquire, uint32_t elna_cfg);
/linux/drivers/gpu/drm/nouveau/include/nvkm/core/
A Dmemory.h37 void __iomem *(*acquire)(struct nvkm_memory *); member
73 #define nvkm_kmap(o) (o)->func->acquire(o)
/linux/Documentation/RCU/
A DUP.rst60 callback function must acquire this same lock. In this case, if
129 like spin_lock_bh() to acquire the lock. Please note that
140 callbacks acquire locks directly. However, a great many RCU
141 callbacks do acquire locks *indirectly*, for example, via

Completed in 49 milliseconds

12345678