Samy Al Bahra
7da6872c5b
doc/ck_hs: Add ck_hs_init manual page.
12 years ago
Samy Al Bahra
51516312ce
ck_hs: Clear bits in iterator.
12 years ago
Samy Al Bahra
690782aa67
ck_hs: Add hash function wrapper to maintain opacity of ck_hs_t.
...
This is in the form of CK_HS_HASH(X, Y, Z) which expands to
Y(Z, X.seed).
12 years ago
Samy Al Bahra
43b24d9f28
regressions/ck_hs: Initialize n_state.
12 years ago
Samy Al Bahra
44b845a53a
regressions/ck_hs: Use (char *) for debug output.
12 years ago
Samy Al Bahra
e9ca398123
ck_hs: Add ck_hs_destroy.
12 years ago
Samy Al Bahra
6fded0c0a1
ck_hs: Silence false positives from GCC.
12 years ago
Samy Al Bahra
7ee626efcb
build: Bump version for silent release.
12 years ago
Samy Al Bahra
bc7a3e5606
regressions/ck_bag: Add status around sleep.
12 years ago
Samy Al Bahra
f2dfd828c3
Merge pull request #7 from abelmathew/master
...
CK_MD_VMA_BITS
12 years ago
Samy Al Bahra
ece2895e9e
ck_hs: Drop ck_hs_hash_t abstraction.
...
No need for opaque type anymore.
12 years ago
Abel Mathew
00d0320767
ck_bag: Fix usage of CK_MD_VMA_BITS.
12 years ago
Samy Al Bahra
b4ab193944
ck_hs: Re-order map elements according to reader use.
...
Try to get generation, probe_maximum, mask and step on same
cache line.
12 years ago
Samy Al Bahra
adaf20b31c
ck_ht: Add ck_ht_stat function.
...
This can be used to expose certain performance metrics.
12 years ago
Samy Al Bahra
fe41e4082b
build: Update help description.
12 years ago
Samy Al Bahra
a40b724270
regressions/ck_hs: Add Makefile for benchmarks.
12 years ago
Samy Al Bahra
0f5e540afa
ck_hs: Lock-free set loosely modeled after ck_ht.
...
Currently only SPMC, but MPMC transformation is relatively trivial.
Documentation will come in a follow-up commit.
12 years ago
Abel Mathew
ec02b2f356
ck_bag: USE CK_BAG_KEY_LENGTH
12 years ago
Abel Mathew
9ff3c2d017
Merge remote-tracking branch 'upstream/master'
12 years ago
Abel Mathew
981e0a49a2
ck_bag: Use CK_MD_VMA_BITS
12 years ago
Samy Al Bahra
01cd3a0256
build: Drop ck_hs, not ready to merge.
12 years ago
Samy Al Bahra
621642d7b4
doc/ck_ht: Document CK_HT_KEY_LENGTH.
12 years ago
Samy Al Bahra
1d1e433dc4
ck_ht: Set unsigned key length.
12 years ago
Samy Al Bahra
ec0d212c04
ck_ht: Set artificial key length limit if pointer packing is disabled.
12 years ago
Samy Al Bahra
90713046e9
ck_ht: Use CK_MD_VMA_BITS.
...
Documentation update is necessary to point out CK_HT_KEY_LENGTH.
12 years ago
Samy Al Bahra
3c7f94db44
build: Only enable pointer packing if VMA bits is detected.
12 years ago
Samy Al Bahra
7a04c368ff
build: Add VMA bits detection for Mac OS X and Linux on x86*.
12 years ago
Samy Al Bahra
67895cb87e
regressions/ck_epoch: Add support for multiple writers in poll unit test.
12 years ago
Samy Al Bahra
5fad753d6e
ck_epoch: No need for the fence on synchronize for TSO.
...
We still require a CAS on fast path, which acts as serializing.
12 years ago
Samy Al Bahra
c45098b21b
ck_epoch: Emit fence instructions for TSO, do not emit for recursive calls.
...
Unfortunately, there are still workloads which will not
serialize. Recursive calls into ck_epoch_begin have no
need for fence instructions.
12 years ago
Samy Al Bahra
3d3f1c9045
build: Keep ABI counter at 0 at least until we freeze.
12 years ago
Samy Al Bahra
5ab99d5f2e
build: Bump up major version.
12 years ago
Samy Al Bahra
a5fb24ab61
ck_ht: Hard-code ck_ht_entry alignment.
...
Even though there is a re-write in progress, this issue must
be fixed. The CK_CC_ALIGNED attribute was never added.
12 years ago
Samy Al Bahra
375a9eb816
regressions/ck_epoch: Drop debug flags.
12 years ago
Samy Al Bahra
034759c3b9
regressions: Update callers to ck_epoch_call.
12 years ago
Samy Al Bahra
f6a675ab00
ck_cc: Add no-op macros in case of unsupported compiler.
12 years ago
Samy Al Bahra
269cddc04c
doc/ck_epoch: Whitespace changes in synopsis.
12 years ago
Samy Al Bahra
657c50f823
regressions/ck_epoch: Multiple writers for synchronize unit test.
12 years ago
Samy Al Bahra
dac91d1edd
ck_epoch: Short-circuit on scan block if epoch tick is encountered.
12 years ago
Samy Al Bahra
1c4183cf44
ck_epoch: Reload epoch value on scan failure.
12 years ago
Samy Al Bahra
7821be8a60
ck_epoch: If all threads are inactive, then we are at a grace period.
12 years ago
Samy Al Bahra
5293ad2348
regressions/ck_epoch: Reduce number of poll iterations, change peak calculation in synchronize.
12 years ago
Samy Al Bahra
5d013028d9
ck_epoch_poll: Update writer epoch snapshot on poll.
...
If our CAS operation fails, we should grab a snapshot of epoch
for future ck_epoch_call invocations.
12 years ago
Samy Al Bahra
8a9f29a354
ck_epoch: Add comment to clarify short-circuit logic.
12 years ago
Samy Al Bahra
07050dc044
ck_epoch: Short-circuit scan step if epoch was changed from underneath us.
12 years ago
Samy Al Bahra
eec4093cdb
ck_epoch: Goal represents a full epoch generation in barrier.
12 years ago
Samy Al Bahra
81ba687e14
ck_epoch: Add additional scan step, we only need to observe e + 2.
...
This allows us to only wait two rather than three epoch-protected
sections, which is a considerable performance improvement. Thanks
much to Richard Bornat for clarifications and feedback.
12 years ago
Samy Al Bahra
1f89848a51
ck_epoch: Fix typo in comment.
12 years ago
Samy Al Bahra
1296a611fd
ck_epoch: Only need three. Issue I found only exists in literature.
...
I think literature didn't hit this due to their implementation approach.
12 years ago
Samy Al Bahra
0efd4dfe21
ck_epoch: Update comment to reflect my findings.
12 years ago