Lines Matching +full:non +full:- +full:overlapping
2 vlocks for Bare-Metal Mutual Exclusion
5 Voting Locks, or "vlocks" provide a simple low-level mutual exclusion
10 which are otherwise non-coherent, in situations where the hardware
28 ---------
30 The easiest way to explain the vlocks algorithm is with some pseudo-code::
34 int last_vote = -1; /* no votes yet */
40 if (last_vote != -1) {
64 last_vote = -1;
74 priority rule to act as a tie-breaker, or any counters which could
83 ------------------------
120 ------------------
128 reduces the number of round-trips required to external memory.
147 This cuts down on the fast-path latency, as well as potentially
151 guarantees coherency between overlapping memory accesses of
159 implementation uses a simple loop of word-sized loads for this
175 memory unless all CPUs contending the lock are cache-coherent, due
177 CPUs. (Though if all the CPUs are cache-coherent, you should be
182 -1 as in the pseudocode). This allows statically-allocated vlocks
191 --------
194 use in ARM-based big.LITTLE platforms, with review and input gratefully
199 Copyright (C) 2012-2013 Linaro Limited
205 ----------
208 Problem", Communications of the ACM 17, 8 (August 1974), 453-455.