Olivier Houchard
421d4d1901
arm/ck_pr: Make sure 64bits load/store are atomic.
...
Depending on the CPU implementation, ldrd/strd may or may not be atomic.
Use ldrexd/strexd instead.
10 years ago
Emilio G. Cota
c1381a4e24
arm/ck_pr: add missing conversion to CK_ namespace
...
Commit 554e2f08
removed underscores from _CK prefixes. It missed
the arm bits, breaking the arm build (which checks for the
non-existing _CK_PR_H). Fix it.
While at it, fix the mismatch between _CK_ISB and __CK_ISB; convert
them both to CK_ISB.
Signed-off-by: Emilio G. Cota <cota@braap.org>
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
0029650be1
Merge branch 'master' of https://github.com/concurrencykit/ck
10 years ago
Samy Al Bahra
851098b552
ck_fifo: Add fences to ABA-friendly operations.
10 years ago
Samy Al Bahra
f95c2c2413
ck_stack: Add fences for ABA-friendly push_mpmc.
10 years ago
Samy Al Bahra
6faceae8ad
ck_ht: Make deprecation official.
10 years ago
Samy Al Bahra
4214561c97
ck_pr: (Re-)introduce ck_pr_rfo.
...
This was accidentally grouped into previous commit.
The destiny of this interface for internal use is still unclear (in context of
utilization in built-in data structures). The interface is enabled by default
on x86, as it is compatible with read-side prefetch* operations and
binary-compatible with 3DNow! extension. Older compilers will waste an
additional byte (they generate 3DNow! variant) on this, but older compilers
waste more on spillage if we encode instruction. Power support is coming soon.
10 years ago
Samy Al Bahra
1474471445
ck_pr: Add basic ck_pr_rfo interface.
...
This leverages prefetchw that is now finally available on both AMD and Intel
processors. Additional ports coming.
10 years ago
Samy Al Bahra
dc8f36c96c
whitespace/spinlock: Remove extraneous end of file lines.
10 years ago
Samy Al Bahra
8b20998ecd
whitespace/ck_swlock: Fix typo in comment.
10 years ago
Samy Al Bahra
0dfd145aa6
whitespace: Update Copyright messages.
10 years ago
Samy Al Bahra
ae3a579216
ppc*: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
a6ac5b81fb
x86_64: Add const qualifier to load_ptr_2.
10 years ago
Samy Al Bahra
9d59c3d004
x86: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
4224f53159
ck_cc: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
7d70240449
general: First pass cast qualifier warning fixes.
10 years ago
Samy Al Bahra
508e92d2fc
ck_backoff: Remove usage of volatile.
...
This avoids memory traffic in busy-wait loops. Been on TODO list for a while,
may as well bite the bullet. No regressions introduced in recent versions of
GCC, clang and ICC.
10 years ago
Olivier Houchard
0f7827f479
ck_pr: Prettify the arm bits.
...
gcc is smart enough to use an even register for 64bits operations, and provide
a way to access the first and the second words, so use that instead of
hardcoding registers.
10 years ago
Olivier Houchard
3aa63b3912
ck_rhs: Implement ck_rhs_apply, similarly to what has been done in ck_hs.
10 years ago
Samy Al Bahra
e39223da44
ck_sequence: Constify read-only operations.
10 years ago
Samy Al Bahra
d6ba2a6273
whitespace: Sweeping whitespace changes.
...
Removing trailing whitespaces and newlines.
10 years ago
Samy Al Bahra
01aa93f05a
regressions/ck_hs: Additional ck_hs_apply coverage.
10 years ago
Samy Al Bahra
40c7a1f24c
ck_bitmap: Wrap long lines (style).
10 years ago
David Joseph
1d7057eb58
ck_bitmap: add a ck_bitmap_bts function.
...
Signed-off-by: Samy Al Bahra <sbahra@backtrace.io>
10 years ago
Marcin Juszkiewicz
de0e582eba
Add ck_pr_fence_acquire/release to generic GCC version
...
Signed-off-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
10 years ago
Samy Al Bahra
b45f94a611
Merge branch 'master' of github.com:sbahra/ck
11 years ago
Bruce Spang
a514e81209
Fix typo in ck_rhs.h
...
This prevented use of both ck_hs and ck_rhs in the same file.
11 years ago
Samy Al Bahra
be11635b12
ck_bitmap: Consistent Copyright.
11 years ago
Samy Al Bahra
cd17fed7dc
ck_pflock: Migrate to acquire / release fences.
11 years ago
Samy Al Bahra
6b2f5130f7
ck_swlock: Whitespace changes.
11 years ago
Jaidev Sridhar
11f79b64f7
ck_swlock: cleanup
11 years ago
Jaidev Sridhar
d95c609090
Merge remote-tracking branch 'upstream/swlock' into ck_swlock
11 years ago
Jaidev Sridhar
b70a5479ca
ck_swlock: snapshot
11 years ago
Samy Al Bahra
217f7a2f32
ck_swlock: Load spin on write bit.
11 years ago
Samy Al Bahra
4d7f4fff6d
ck_swlock: Fix latch operation.
11 years ago
Samy Al Bahra
bbad068f5a
ck_swlock: Make latch operation write-biased.
11 years ago
Samy Al Bahra
e2f7df0f1d
ck_swlock: Various improvements.
...
- Remove recursive locks.
- Remove unnecessary fences.
- Add necessary fences.
- Simplify state machine.
11 years ago
Samy Al Bahra
66aee95dd1
Merge branch 'ck_swlock' of github.com:skjaidev/ck into swlock
...
Conflicts:
regressions/Makefile
11 years ago
Jaidev Sridhar
c246865ce7
ck_swlock: Removed comment
11 years ago
Jaidev Sridhar
4471ea2df8
ck_swlock: Acquire semantics
11 years ago
Jaidev Sridhar
e6feed1f89
ck_swlock: Rename lock field
11 years ago
Jaidev Sridhar
0f44d50e33
ck_swlock: Use single word for lock bits
11 years ago
Samy Al Bahra
411afc3c47
*lock: Simplify initialization semantics.
...
Compiler barrier used for backwards compatibility.
11 years ago
Samy Al Bahra
f3539396c2
*lock: Simply use compiler barrier on initialization.
11 years ago
Samy Al Bahra
b24a9af88a
ck_pflock: Migrate initializer to use compiler barrier.
11 years ago
Samy Al Bahra
722f526a0e
ck_tflock: Remove extraneous newline.
11 years ago
Samy Al Bahra
46042c7996
tflock: Task-fair reader-writer locks reference implementation.
11 years ago