Paul Khuong
571bb264b0
spinlock/fas: improve codegen for the uncontended path
...
Mark acquisition failures as unlikely: there's no point in reaching
the spinloop slow path more quickly.
TESTED=existing regression tests.
5 years ago
Samy Al Bahra
9bd98ad96a
Revert "include/spinlock: explicit casts for C++ compilation"
...
This reverts commit 8698ada953
.
Concurrency Kit uses idiomatic C99+.
6 years ago
Thibault Martinez
8698ada953
include/spinlock: explicit casts for C++ compilation
6 years ago
Olivier Houchard
0881349657
spinlock/hclh: Strictly follow the algorithm instead of taking shortcuts.
...
Don't attempt to be to smart, and just follow the algorithm, failing to
do so may lead to getting a thread to wrongly believe it owns the lock
when it does not.
This should fix the random failures reported on PPC with many threads.
6 years ago
Samy Al Bahra
8343bd4af8
spinlock/dec: backoff until lock state transition in lock_eb.
...
This fixes an issue caught by Changwoo Min (@multics69).
8 years ago
Olivier Houchard
27fb1bc00f
ck: Reimplement a few libc headers, to make CK build when compiling in the
...
FreeBSD kernel.
9 years ago
Samy Al Bahra
c2ce635080
spinlock/ticket: Remove dead variable.
10 years ago
Samy Al Bahra
e693cb9afe
ck_*lock: Migrate all locking primitives to lock / unlock.
...
This only affects RMO. This adds stricter semantics for critical section
serialization. In addition to this, asymmetric synchronization primitives will
now provide load ordering with respect to readers.
This also modifies locked operations to have acquire semantics
(they're there for elision predicates, and this doesn't impact them
in any way). There are several performance improvements included in this
as well (redundant fence was removed from days of wanting to support
Alpha).
10 years ago
Samy Al Bahra
b2407aa3f0
whitespace/mcs: Wrap to 80 columns.
10 years ago
Samy Al Bahra
554e2f0874
whitespace: Strictly conform to C namespacing rules.
10 years ago
Samy Al Bahra
3c2c91daa4
spinlock/mcs: Migrate to acquire semantics on lock.
...
No functional impact on target architectures.
10 years ago
Samy Al Bahra
d99feda642
*clh: Migrate to acquire interface for lock.
...
No functional impact on existing targets.
10 years ago
Samy Al Bahra
dc8f36c96c
whitespace/spinlock: Remove extraneous end of file lines.
10 years ago
Samy Al Bahra
0dfd145aa6
whitespace: Update Copyright messages.
10 years ago
Samy Al Bahra
d6ba2a6273
whitespace: Sweeping whitespace changes.
...
Removing trailing whitespaces and newlines.
10 years ago
Samy Al Bahra
411afc3c47
*lock: Simplify initialization semantics.
...
Compiler barrier used for backwards compatibility.
11 years ago
Samy Al Bahra
c197b37df1
legal: Update Copyright statements.
11 years ago
Samy Al Bahra
e57bfd5865
spinlock: Migrate to acquire / release interface.
11 years ago
Samy Al Bahra
b32e1b24df
ck_spinlock: Use more finely-grained barrier for CLH.
11 years ago
Olivier Houchard
b17706f967
hclh: Assert my copyright.
11 years ago
Samy Al Bahra
df571ad331
ck_spinlock: Migrate lock implementations to directory.
11 years ago