Samy Al Bahra
d7d1dfbf50
ck_hp: Remove barrier from set and allow user to batch.
...
A user may want to batch multiple slot updates. Enforcing strong
semantics in set would not allow this.
14 years ago
Samy Al Bahra
dffbb4b48f
ck_hp: Add explicit store fence after setting slot.
14 years ago
Samy Al Bahra
ae1d575b00
regressions/ck_stack: Remove redundant flags.
14 years ago
Samy Al Bahra
34ec9ced0a
regressions: Use -pthread instead of -lpthread.
...
Pointed out by Matt Johnson.
14 years ago
Samy Al Bahra
303c7f01cf
README: Another update to ASCII art.
14 years ago
Samy Al Bahra
2302155613
ck_epoch: Reference Fraser's thesis.
14 years ago
Samy Al Bahra
f22bddddd5
ck_epoch: Place epoch on a separate cache line.
14 years ago
Samy Al Bahra
826d9996ac
ck_epoch: Remove unnecessary header file.
14 years ago
Samy Al Bahra
7b8dfe44be
ck_hp: Rename *subscribe to *register.
14 years ago
Samy Al Bahra
0f46b5907e
ck_epoch: Add validation test to top-level regressions Makefile.
14 years ago
Samy Al Bahra
b123ec2313
ck_epoch: Whitespace changes. Add ck_epoch_recycle.
14 years ago
Samy Al Bahra
875d070814
ck_epoch: Remove debug output, update comments.
14 years ago
Samy Al Bahra
3747da1f2a
ck_hp: Remove redundant expression.
14 years ago
Samy Al Bahra
68f376babf
ck_hp: Explicitly flush stores on initialization.
14 years ago
Samy Al Bahra
ea46592848
Wrap to 80 columns.
14 years ago
Samy Al Bahra
386f3647cb
x86_64: Remove workaround for Opteron errata, other minor clean-up.
...
There is a bug first generation AMD Opteron processors'
with cpuid family 0Fh and models less than 40h when it
comes to read-modify write operations after load/store
sequence. Not worth supporting this processor.
If you are on this processor, you can find more information
at: http://bugzilla.kernel.org/show_bug.cgi?id=11305#c2
14 years ago
Samy Al Bahra
fa2a5aab97
ck_barrier: Update throughput benchmark to correctly use ck_barrier_centralized.
14 years ago
Samy Al Bahra
b882517d5e
PPC64: Complete port, add binary write-only operations.
14 years ago
Samy Al Bahra
fb25458121
ck_barrier: Clean up tournament barriers.
14 years ago
Samy Al Bahra
8b4f72057c
ck_barrier: First round audit, tournament barriers next.
...
The barriers have been restructured into individual file
per implementation. Some micro-optimizations were implemented
for some barriers (caching common computations in the barrier).
State subsription is now explicit with the TID counter allocated
on a per-barrier basis.
Tournament barriers remaining and then another round will be done
for correctness and algorithmic improvements.
14 years ago
Samy Al Bahra
b0acd3439b
ck_barrier: Trivial whitespace change to test cronjob.
14 years ago
Samy Al Bahra
10e9658c0f
Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra
9388c5439a
PPC64: Add build file.
14 years ago
David Joseph
f475d2e7ab
Commented combining, dissemination, tournament and mcs barriers.
14 years ago
Samy Al Bahra
25f1fde7fa
PPC64: Add fetch-and-add.
14 years ago
Samy Al Bahra
f48a0c2480
PPC64: Add unary operations.
14 years ago
Samy Al Bahra
cf4ee8c7a4
Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra
5f2f69eebb
Work-around strict aliasing issue.
14 years ago
David Joseph
dff69e639d
Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
David Joseph
64f6702a4c
Implemented tournament and mcs barriers.
...
These are the tournament and mcs barriers from "Algorithms for Scalable
Synchronization on Shared-Memory Multiprocessors." Validation tests have
also been added for these barriers to regressions/ck_barrier/validate.
14 years ago
Samy Al Bahra
24abb2a3ac
Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra
90fee0d839
PPC64: Import minimal PPC64 port.
...
Must implement templates now for phi in LL-phi-SC
templates to allow for lower latency fetch-and-phi
operations.
14 years ago
Samy Al Bahra
a29a1c2a8c
sparcv9: Whitespace change.
14 years ago
Samy Al Bahra
133e936744
sparcv9: Make use of CK_PR_FENCE macro.
14 years ago
Samy Al Bahra
e1d33c467b
ck_pr: Fix some strict aliasing issues and fix char neg.
14 years ago
Samy Al Bahra
563e20a990
Minor improvements to dissemination barrier.
14 years ago
David Joseph
480db1321c
Implemented dissemination barriers.
...
Validation (ck_barrier_dissemination.c) is included.
14 years ago
Samy Al Bahra
489bbc058b
Hazard Pointers: Critical fix.
...
Some debug code somehow snuck through. This breaks hazard pointers
behavior if the hazard pointers cache is used.
14 years ago
Devon H. O'Dell
e5a5d0e2b9
x86: Remove invalid comment about fixed bug.
14 years ago
Devon H. O'Dell
ace2b787f5
x86: Implement ck_pr_load_32_2 in terms of movq
...
ck_pr_load_32_2 (and thus ck_pr_load_ptr_2) were previously implemented in
terms of lock cmpxchg8b, which is considerably slower than just using movq.
Relevant tests making use of load_ptr_2 still pass, so I'm confident this
change is correct.
14 years ago
Samy Al Bahra
ad85634188
Enable x86_32 port.
14 years ago
Devon H. O'Dell
ccf002223c
x86: fix btX functions
...
C casts to unsigned int by default, so we were experiencing some negative
undefined behavior in the 1 << 31 case. x86 now works; bts and btc are
both passing.
14 years ago
Devon H. O'Dell
0c8c054c0a
x86: More PIC happiness
...
It turns out that the "p" constraint doesn't work on clang, so we have to get
rid of that. This means that we may need to require GCC 4.3+ if it turns out
that GCC 4.1 / 4.2 still run out of registers compiling this version.
14 years ago
Samy Al Bahra
7c8ab13343
Some fixes for strict aliasing. Silence some warnings from clang.
14 years ago
Devon H. O'Dell
114e9c8ed5
x86: Fix typo missed in last merge somehow
14 years ago
Samy Al Bahra
5900adb424
Move ck_barrier.h into shared/static object. Add CK_CC_CACHELINE.
...
There is absolutely no benefit to inlining these. Additionally,
explicitly set the alignment of a ck_barrier_combining_group to
a cacheline.
14 years ago
David Joseph
9ab7b7ae42
Fixed a bug with ck_barrier_combining_aux.
...
Since groups are now implemented, leaves can no longer skip to their parents.
14 years ago
David Joseph
615e3ca47f
Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
David Joseph
5e7073b9b7
Software tree combining barrier now supports an arbitrary number of threads per group.
...
Changed some structure names for ck_barrier_combining.
Modified unit tests to account for groups of threads.
14 years ago
Samy Al Bahra
a462c89787
ck_sequence: Remove unnecessary load fence from seqlock.
14 years ago