Samy Al Bahra
d705e02b76
ck_ring: Replace MPMC variant with SPMC variant for starters.
...
Immediate use-case is SPMC. Next is MPSC, then I will generalize
to MPMC (unfortunately, I don't have an algorithm that avoids CAS2
yet for MPMC).
12 years ago
Samy Al Bahra
bb48f602ff
ck_ring: Add note regarding correctness so people don't both verifying it.
...
Original version is susceptible to several problems, it is whack.
12 years ago
Samy Al Bahra
8d90fa28ed
regressions/ck_ring: Add missing header file.
12 years ago
Samy Al Bahra
8d8f76845b
regressions/ck_ring: Add MPMC unit test.
12 years ago
Samy Al Bahra
68e6752e53
ck_ring: Due to popular request, add MPMC variants of enqueue/dequeue.
...
Fencing semantics are heavier-weight than they need to be.
12 years ago
Samy Al Bahra
05f36bc476
ck_internal: Follow-up to previous commit.
12 years ago
Samy Al Bahra
a7d79970e7
ck_{ht,internal}: Explicitly use unsigned for bitwise operations.
12 years ago
Samy Al Bahra
957e4aec5d
ck_brlock: Fix typo.
12 years ago
Samy Al Bahra
b631e3aa23
ck_brlock: Enable FAS serialization only on x86.
...
Other architectures, even TSO ones, pay a heavier flush
cost.
12 years ago
Samy Al Bahra
2bdc231288
ck_brlock: Serialize on atomic operation on read acquisition.
...
10% improvement for reader acquisition latency on TSO architectures
implementing wait-free FAS.
12 years ago
Samy Al Bahra
cb1c72d36b
ck_queue: Add CK_?LIST_MOVE operation.
...
This operation is of format:
CK_S*LIST_MOVE(a, b, linkage) and is equivalent to intializing
a with the contents of b. This is done in a manner that is atomic
with respect to readers. Read-only operations are still valid in
b, but behavior is undefined for write-side operations on b after
a MOVE operation.
12 years ago
Samy Al Bahra
5df8882840
ck_bytelock: Switch to full semantics on unlock.
...
RW semantics may be used for shared write-side.
12 years ago
Samy Al Bahra
a06f28b77c
ck_ring: Remove useless comment.
12 years ago
Samy Al Bahra
f3111b006b
ck_fifo: SPSC FIFO dequeue only requires load depends barrier.
12 years ago
Samy Al Bahra
533136627f
regressions/ck_stack: Cache align stack.
12 years ago
Samy Al Bahra
bf30d3439c
ck_rwlock: Remove unncessary load fences, switch to full semantics on read unlock.
...
rwlock may also be used in SPMC workloads.
12 years ago
Samy Al Bahra
65ebf86799
ck_spinlock: Switch to full semantics across all implementations.
...
More importantly, trylock previously didn't have full semantics.
12 years ago
Samy Al Bahra
e40521d1aa
ck_pr/ppc64: Switch to RMO model for atomic operations.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
12 years ago
Samy Al Bahra
6be03bb450
ck_bytelock: Remove unnecessary load barrier on unslotted read acquisition.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
12 years ago
Samy Al Bahra
b0277346b8
regressions/ck_bytelock: Cache-align bytelock.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
12 years ago
Samy Al Bahra
52ca64b2b7
ck_pr/sparcv9: MemIssue is overly heavyweight.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
12 years ago
Samy Al Bahra
749a40159d
ck_hs: Fix ck_hs_next to check key value.
12 years ago
Samy Al Bahra
3f217c9789
ck_pr: Fallback to RMO for PSO for this release.
...
Barriers can be rejiggered next release.
12 years ago
Samy Al Bahra
ac50efbeaf
regressions/ck_epoch: GCC 4.6.3 ignores used attribute in this case.
12 years ago
Samy Al Bahra
ddfdda3649
regressions/ck_epoch: Force generation of stack dereference in ck_epoch_synchronize.
12 years ago
Samy Al Bahra
099f13a24d
regressions/ck_epoch: Force generation of stack pointer.
12 years ago
Samy Al Bahra
31040a925d
regressions/ck_ht: Use random get counter.
...
We were erroneously printing reverse get results in serial.
12 years ago
Samy Al Bahra
a1dc38f20e
build/ck_pr: Add configurable memory models.
12 years ago
Samy Al Bahra
2ced93ca08
doc/ck_ht_stat: Add ck_ht_stat manual page.
12 years ago
Samy Al Bahra
51f45d6cbb
doc/ck_hs: Update manual page dates.
12 years ago
Samy Al Bahra
d485657b4b
doc/ck_hs: Add ck_hs_stat manual page.
12 years ago
Samy Al Bahra
e665fdf05f
doc/ck_hs: Add manual pages.
12 years ago
Samy Al Bahra
2ca8f70703
doc/ck_hs_grow: Use hash set rather than hash table wording.
12 years ago
Samy Al Bahra
1779ad4626
doc/ck_hs_grow: Grammar fixes.
12 years ago
Samy Al Bahra
cb2d4fd0e8
doc/ck_hs: Add ck_hs_grow manual page.
12 years ago
Samy Al Bahra
8b524fc639
doc/ck_hs: More manual page fixes.
12 years ago
Samy Al Bahra
a6219b1685
doc/ck_hs: Add ck_hs_remove manual page.
12 years ago
Samy Al Bahra
12d9d8a162
doc/ck_hs: Fixes to ck_hs_{put,set} manual pages.
12 years ago
Samy Al Bahra
ee2ae5a50f
regressions/ck_epoch: Update check target.
...
Makefile was ignored due to bogus gitignore entry.
12 years ago
Samy Al Bahra
e5d701ca79
ck_hs: Whitespace changes.
12 years ago
Samy Al Bahra
755c087070
doc/ck_hs: Add ck_hs_set manual page.
12 years ago
Samy Al Bahra
05f85cac54
doc/ck_hs_put: Add reference to ck_hs_set.
12 years ago
Samy Al Bahra
ca3af48508
doc/ck_hs: Add ck_hs_put manual page.
12 years ago
Samy Al Bahra
ceef32a962
doc/ck_ht: Fixes to ck_ht_put_spmc manual page.
12 years ago
Samy Al Bahra
7aeba1cd8b
doc/ck_ht: Fixes to manual page headers.
12 years ago
Samy Al Bahra
fedc2f6e47
ck_pr/sparcv9: Assume TSO by default.
12 years ago
Samy Al Bahra
9d1540e586
build: Add core count detection for Linux on non-x86 targets.
12 years ago
Samy Al Bahra
9bb1e576db
doc/ck_hs: Add ck_hs_get manual page.
12 years ago
Samy Al Bahra
3741c88182
doc/ck_hs: Add ck_hs_next manual page.
12 years ago
Samy Al Bahra
262168a8a5
doc/ck_hs: Add ck_hs_iterator_init manual page.
12 years ago