Samy Al Bahra
84943b5787
ck_ht: Remove remnants of MPMC implementation from write-side probe.
11 years ago
Samy Al Bahra
fa9f3540fe
ck_hs: Various fixes for pointer comparison.
...
This abstracts away pointer packing tricks to a macro,
fixes comparison of pointers to occur in absence of
embedded values and improves robustness of pointer marshaling
for write-side operations for pointers that may already have
had pointer packing tricks played on them.
11 years ago
Samy Al Bahra
7355d0ea49
ck_internal: Fix bsf behavior.
11 years ago
Samy Al Bahra
f74c0eca62
ck_hs: Saturate to quadratic probe from double hashing.
...
This should primarily affect specific delete-heavy workloads.
11 years ago
Samy Al Bahra
f805ee746e
regressions: Coverage for ck_hs_put_unique.
11 years ago
Samy Al Bahra
a3532d52ce
ck_hs: Add ck_hs_put_unique function for fast-path unique inserts.
...
This function allows for faster insertions into tombstone-heavy
probe sequences by short-circuiting on tombstones rather than
continuing to probe. The user must already guarantee that the
entry being inserted is unique. If a non-unique key is inserted
with this operation, undefined behavior will result.
11 years ago
Samy Al Bahra
2dacc08443
ck_hs: Bump back to default linear probe length.
11 years ago
Samy Al Bahra
6e7ac5bee6
ck_hs: Increase linear probe factor to twice what it was.
...
This assumes adjacent sector prefetch and appears to have minimal
clustering effect. In addition to this, developers are free to define
their own linear probe length by defining CK_HS_PROBE_L1_SHIFT.
11 years ago
Samy Al Bahra
2769ce1a09
regressions/ck_hs: Add ck_hs tombstone stride workload to serial benchmark.
...
This measures clustering effect of tombstones on average probe sequence
length.
11 years ago
Artemiy Volkov
9f6f2216f3
doc: ck_hs_remove: Rectify an argument name.
11 years ago
Artemiy Volkov
f9d6c8cb85
doc: ck_epoch_call: Insert empty string between type definitions.
11 years ago
Artemiy Volkov
d6b53944ff
doc: ck_elide: Fix typos.
11 years ago
Artemiy Volkov
6176be8610
doc: ck_sequence: Fix header & function names.
11 years ago
Artemiy Volkov
fa2ded755a
doc: CK_COHORT_PROTOTYPE: Remove descriptions for unexisting parameters.
11 years ago
Artemiy Volkov
5f00801818
doc: ck_cohort: Fix example & function signatures.
11 years ago
Samy Al Bahra
59b1c23ca7
doc: Fix ck_hs_next reference.
...
Patch submitted by Devon H. O'Dell.
11 years ago
Samy Al Bahra
0610a0d0a8
ck_bag: Drop support for this data structure.
...
Could not find suitable use-case and generally doesn't
appear interesting to academics in the existing
form. Maybe it will make a come-back in the future with
fewer memory and latency compromises.
11 years ago
Samy Al Bahra
cfd8fd8d4b
ck_ht: Fix alignment issues in MurmurHash.
...
Patch submitted by Olivier Houchard <cognet@FreeBSD>.
11 years ago
Samy Al Bahra
3c089d55e5
arm: Add support for cas_2 and other double-word operations.
...
This adds support for CAS_64{_VALUE}, CAS_PTR_2{_VALUE},
LOAD_64, STORE_64 and other primitives built on universal
CAS primitive.
Patch submitted by Olivier Houchard <cognet@FreeBSD>.
11 years ago
Samy Al Bahra
3d188aa553
doc: Remaining ck_array manual pages and additional fixes.
11 years ago
Samy Al Bahra
c7203521e8
doc: Fix ck_array_put_unique manual page prototype.
11 years ago
Samy Al Bahra
de9220ce16
ck_array: Change semantics of put_unique return values.
...
More specifically, -1 should idiomatically indicate error.
11 years ago
Samy Al Bahra
9be176959e
doc: Add some ck_array manual pages.
11 years ago
Samy Al Bahra
61120e05e1
ck_array: Add AppNexus to Copyright.
11 years ago
Samy Al Bahra
493360636b
ck_array: Additional regressions coverage and code clean-up.
11 years ago
Samy Al Bahra
ef15380a62
regressions/ck_hs: Increase coverage across multiple start sizes.
11 years ago
Samy Al Bahra
7a49725b7f
ck_array: Fix use-after-free on transactional put.
11 years ago
Samy Al Bahra
b801ec4b98
ck_array: Remove variable name from ck_array_init declaration.
11 years ago
Samy Al Bahra
42aa90de33
ck_array: Reallocation on producer-path requires deferral.
...
Fix typo.
11 years ago
Samy Al Bahra
a7cb0f9bbb
ck_array: Add ck_array_initialized functionality.
...
The function returns true if the target is initialized, otherwise,
it returns false.
11 years ago
Samy Al Bahra
59e38af2cd
build: Bump version for next release.
11 years ago
Samy Al Bahra
2db9de633f
ck_array: Simple eliminating SPMC dense array for fast iteration.
...
The array is optimized for SPMC and fast iteration (though MPMC
transformation is also possible). This is an extremely simple
implementation with support for atomic in-place modification
through put -> remove elimination.
11 years ago
Samy Al Bahra
d66fc5de81
doc: Fix documentation for ck_pr_*_zero functions.
...
They were incorrectly documented as providing rvalue.
11 years ago
Samy Al Bahra
2245f28cb3
build: Strictify /proc/cpuinfo pattern for SPARC Linux.
11 years ago
Samy Al Bahra
2d3e754a5c
build: On Linux use processor pattern for /proc/cpuinfo
...
This fixes incorrect core counts on ARM. Verified behavior on
Linux PPC, ARM, x86. SPARC verification pending.
11 years ago
Samy Al Bahra
a7c235fc28
build: Remove redundant core assignment for MingW port.
11 years ago
Samy Al Bahra
8dc4d18b98
build: Bump version for next release.
11 years ago
Samy Al Bahra
a43d3b82a4
Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
5916485e9e
ck_pr/arm: Implement support for Thumb 2 and fix incorrect CAS behavior.
...
Besides implementing Thumb 2 supports, this fixes incorrect usage of
"cmp" where "cmpeq" was meant.
Patch submitted by Olivier Houchard <cognet@freebsd>.
11 years ago
Samy Al Bahra
2d51f1f56c
ck_pr/arm: Implement support for Thumb 2.
...
Patch submitted by Olivier Houchard <cognet@freebsd>.
11 years ago
Samy Al Bahra
45ddb96ecb
build/arm: Specify -marm since some toolchains default to Thumb 2 still.
...
Thanks to Travis Geiselbrecht <geist@foobox> and John Hodge <acessdev@gmail>.
11 years ago
Samy Al Bahra
1fb859ad94
build: For now, my test systems are only armv{6,7}l.
...
Constrict to these targets.
11 years ago
Samy Al Bahra
5baa5d1d6d
build: Drop quotes from ARM targets.
...
What I get for speed commits...incompetent commits.
11 years ago
Samy Al Bahra
094fc0d326
build: Add detection of little-endian ARM on Linux.
...
People compiling on ARM on Linux would have experienced problems
if they did not specify --profile. Problem reported by
Christopher Meng <cickumqt@gmail>.
11 years ago
Samy Al Bahra
6fc39cfa49
build: Force configure process to recompile.
11 years ago
Samy Al Bahra
1237681a71
build: Bump version to 0.3 for next release.
11 years ago
Samy Al Bahra
e1c0f6854d
ck_pr/arm: Additional style clean-up.
11 years ago
Samy Al Bahra
17cc858f58
build: Whitespace clean-up to ARM target.
11 years ago
Samy Al Bahra
1c97766039
ck_pr: First cut 32-bit ARM port.
...
Contributed by Olivier Houchard <cognet@freebsd>.
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
11 years ago
Samy Al Bahra
6c4074aaf3
ck_ht: Fix ck_ht_hash inline behavior.
...
The original code did not correctly specify inline behavior.
Pointed out by Wez Furlong.
11 years ago