Samy Al Bahra
210b724061
ck_rwlock: Migrate to 32-bit primitives and add a write_latch operation.
...
write_latch allows writers to prevent incoming read acquisitions from
succeeding while permitting write_lock operations to complete. This is
useful if multiple writers are cooperating in linearizing a non-blocking
data structure and allows for lock state to be copied by the write lock
holder safely.
In collaboration with Paul Khuong and Jaidev Sridhar.
11 years ago
Samy Al Bahra
0878bf489a
regressions/ck_pr: Coverage for immediates.
11 years ago
Samy Al Bahra
f8b41af77c
x86_64: Require 32-bit immediate values for expansion.
...
Pointed out by Paul Khuong, who ran into issues with immediates
while working on improvements to ck_bitmap.
11 years ago
Samy Al Bahra
64d94f45d3
doc: Fix grammar in ck_array_commit manual page.
11 years ago
Samy Al Bahra
cefd6bc9ec
ck_ring: Remove stale comment from pre-memcpy implementation.
11 years ago
Samy Al Bahra
396ceb16bb
ck_ring: Fix typo in type-specialized ck_ring_dequeue_tryspmc.
...
Thanks to Paul Khuong <pkhuong@appnexus> for patch.
11 years ago
Samy Al Bahra
7de5da15d7
regressions/ck_tflock: Remove rwlock reference.
11 years ago
Samy Al Bahra
6e0f79c70e
ck_tflock: Initial check-in of reference implementation.
11 years ago
Samy Al Bahra
671d067ea0
ck_bytelock: Fix casting error affecting 32-bit architectures.
11 years ago
Samy Al Bahra
81f267ce62
Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
b97b0021f9
ck_barrier: Just pass-through tournament barrier with only one participating thread.
11 years ago
Samy Al Bahra
15ce0501d2
ck_sequence: Add branch hint for short-circuit.
11 years ago
Samy Al Bahra
edd12edbcc
regressions/ck_fifo: Require non-NULL stub node.
11 years ago
Samy Al Bahra
68d5206a03
regressions/ck_hp_fifo: Require non-NULL stub node.
11 years ago
Samy Al Bahra
cbc2206ba0
regressions: Add basic coverage of ck_hp_fifo.
11 years ago
Samy Al Bahra
cb8f5f9ebb
ck_hp_fifo: Add deinit routine to allow reclaiming stub node.
11 years ago
Samy Al Bahra
c75e470ed4
ck_fifo_spsc: De-initialize from head.
11 years ago
Samy Al Bahra
06feae82f3
ck_hp_fifo: No need for volatile atomic stores on initialization.
11 years ago
Samy Al Bahra
ca49839883
regressions/ck_fifo: Add coverage for deinit routines.
11 years ago
Samy Al Bahra
5ec8191ded
ck_fifo: Add ck_fifo_*_deinit routines.
...
These allow for reclamation of garbage node in an empty FIFO.
Based on patch submitted by Rajesh R <rr01803@gm....>.
11 years ago
Samy Al Bahra
e0c65bd98b
build: Bump version for release.
11 years ago
Samy Al Bahra
15ac0bc691
ck_bitmap: Fix length calculation error in ck_bitmap_union (crasher).
11 years ago
Samy Al Bahra
08be876fa6
ck_bytelock: Correctly compute byte sequence length for readers.
...
Thanks to Albi Kavo <albi.kavo@gm...> for spotting this.
11 years ago
Samy Al Bahra
8f0b88afeb
ck_rhs: Localized style(9) clean-up.
11 years ago
Samy Al Bahra
8867674c8f
build: Drop patch level from version.
11 years ago
Samy Al Bahra
4198b517ac
doc: Add ck_bitmap_union manual page.
11 years ago
Samy Al Bahra
f06fc00882
doc/ck_bitmap: Drop references to _mpmc.
11 years ago
Samy Al Bahra
190b204059
ck_bitmap: Drop _mpmc suffix and add union operation.
...
The _mpmc suffix is not useful. I see little benefit to specializing
the bitmap to begin with.
11 years ago
Samy Al Bahra
1c8040968f
regressions: Add ck_rhs to top-level Makefile.
11 years ago
Samy Al Bahra
76e43825a7
Merge remote-tracking branch 'origin/cognet'
11 years ago
Samy Al Bahra
c62862197c
build: Bump feature version in preparation.
11 years ago
Samy Al Bahra
54ba247c18
build: Support customizable library names.
...
This is primarily for Mac OS X at the moment, but may come
in handy for other targets in the future.
11 years ago
Olivier Houchard
efc88a5af5
ck_rhs: style(9)
11 years ago
Olivier Houchard
8f1ea8043b
ck_rhs: Use inlined functions instead of gruesome macros.
11 years ago
Samy Al Bahra
20b98dc271
ck_rhs: Additional clean-up.
11 years ago
Samy Al Bahra
ddab0f1820
ck_rhs: Remove unnecessary parentheses.
11 years ago
Samy Al Bahra
6d26a2b4da
ck_rhs: Move probe function to right namespace.
...
Sleep deprivation...
11 years ago
Samy Al Bahra
0e0fca638f
ck_rhs: Various clean-up.
11 years ago
Samy Al Bahra
79fb6176bb
regressions: Add coverage for ck_bytelock off-by-one.
11 years ago
Samy Al Bahra
b8c801136a
ck_bytelock: Fix deadlock for unslotted reader workloads.
...
There is an off-by-one for slot ID sizeof(bytelock->readers) + 1.
This patch fixes the handling of this slot ID. Based off a patch
submitted by Albi Kavo <albi.kavo@gma....>.
11 years ago
User Doginou
eaff3ac2b3
ck_rhs: remove debugging printfs
11 years ago
User Doginou
59cedf10c6
ck_rhs: Add a read mostly mode.
...
Add a read-mostly mode, in which entries won't share cache lines with
associated datas (probes, probe_bound, etc).
This makes write operations slower, but make get faster.
11 years ago
Olivier Houchard
0f908f1e31
ck_hrs: Update probe_bound for every slot shifted.
...
In ck_rhs_do_backward_shift_delete(), find if any entry with the same hash
is stored further, and if not, update probe_bound for every entry being
shifted, instead of just doing it for the slot being emptied.
11 years ago
Samy Al Bahra
f2f1243523
build: Bump version for next release.
11 years ago
Samy Al Bahra
9d40e6b52f
ck_ht: Optimize ck_ht_gc for empty tables.
11 years ago
Samy Al Bahra
0a256f0892
regressions: Empty set coverage for ck_hs_gc.
11 years ago
Samy Al Bahra
3339b2eb22
ck_hs: Optimize GC for empty sets.
11 years ago
Samy Al Bahra
1fe1ed1d60
ck_ht: Fix typo in ck_ht_gc for direct mode.
11 years ago
Olivier Houchard
e47caab029
ck_rhs: Increase CK_RHS_G from 2 to 1024, since it's used a lot more.
11 years ago
Olivier Houchard
bf686c0a42
ck_rhs: Add.
...
Introduce ck_rhs, a variant of ck_hs that uses the robin hood algorithm for
insertion, and backward shift delete for deletion.
11 years ago