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
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
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
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
76e43825a7
Merge remote-tracking branch 'origin/cognet'
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
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
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
Samy Al Bahra
c197b37df1
legal: Update Copyright statements.
11 years ago
Samy Al Bahra
0c4ed1d14f
ck_pflock: Use store barrier on init.
11 years ago
Samy Al Bahra
0353cdcb23
ck_rwlock: Migrate to acquire / release and other barrier improvements.
11 years ago
Samy Al Bahra
38c40315a2
ck_brlock: Use store barrier on initialization.
11 years ago
Samy Al Bahra
ac8397d8b5
ck_rwcohort: Migrate to acquire / release.
11 years ago
Samy Al Bahra
5280253974
ck_pflock: Use precise barrier in read_unlock.
11 years ago
Samy Al Bahra
febdb8c164
ck_brlock: Use precise barrier for read_unlock.
11 years ago
Samy Al Bahra
0c205740aa
ck_pflock: Migrate to acquire / release.
11 years ago
Samy Al Bahra
ad5e00cfb9
ck_epoch: Read-side latency improvements on x86.
11 years ago
Samy Al Bahra
cad7b53273
ck_epoch: Migrate to acquire / release.
11 years ago
Samy Al Bahra
e8051b79c2
ck_elide: Add comment indicating purposeful omission of barriers.
11 years ago
Samy Al Bahra
16f7568e5c
ck_cohort: Migrate to acquire / release.
11 years ago
Samy Al Bahra
44689f7e69
ck_bytelock: Migrate to acquire / release.
11 years ago
Samy Al Bahra
f314b52035
ck_brlock: Migrate to acquire/release.
11 years ago
Samy Al Bahra
0bbb6f0eff
ck_pr: Fix typo in preprocessor usage.
11 years ago
Samy Al Bahra
e57bfd5865
spinlock: Migrate to acquire / release interface.
11 years ago
Samy Al Bahra
661f3948ed
ck_pr: Add acquire and release fences.
11 years ago
Samy Al Bahra
057f719796
ck_ring: Add type-specialized ring.
11 years ago
Samy Al Bahra
90c9950356
ck_ring: Type-agnostic backend implementation.
...
This will serve to drive both pointer-based and type-specialized ring
implementations. Some full fences have also been removed as they are
unnecessary with the introduction of X_Y fence interface.
11 years ago
Samy Al Bahra
4af7571990
ck_pr/arm: Remove extraneous newline.
11 years ago
Olivier Houchard
259fb5174d
ck_pr: Use the "dmb st" instruction on arm when available.
11 years ago
Samy Al Bahra
b32e1b24df
ck_spinlock: Use more finely-grained barrier for CLH.
11 years ago
Samy Al Bahra
eb59f6ead5
ck_ht: Add CK_HT_WORKLOAD_DELETE flag.
...
This is a port of the hash set delete workload
hint.
11 years ago
Olivier Houchard
b17706f967
hclh: Assert my copyright.
11 years ago
Samy Al Bahra
df571ad331
ck_spinlock: Migrate lock implementations to directory.
11 years ago
Samy Al Bahra
1ecb37b28f
Merge branch 'cognet' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
b6a1914085
ck_ring: Prefer treatment of ck_ring_buffer_t as an opaque type.
11 years ago
Samy Al Bahra
b6f085a62e
ck_ring: Minor style change.
11 years ago
Samy Al Bahra
e6c0ef01a5
ck_spinlock: Revert previous change, do not splice too early.
11 years ago
Samy Al Bahra
e8b26ec212
ck_spinlock: Minor readability changes to ck_hclh.
11 years ago
Samy Al Bahra
c219593967
ck_spinlock: First round of improvements to ck_hclh.
...
* Drop unnecessary volatile stores.
* Use more expressive ck_pr_fence_X_Y semantics.
11 years ago
Samy Al Bahra
0e5ce1aae7
ck_spinlock: Simple whitespace changes (wrap long lines).
11 years ago
Olivier Houchard
0f92cbab08
ck_spinlock: Commit the missing HCLH bits.
11 years ago
Samy Al Bahra
aa0c303554
ck_ht: Add ck_ht_gc functionality, similar to ck_hs_gc.
...
This allows for incremental reprobe to shorten over-all probe sequences
in delete heavy workloads.
11 years ago
Olivier Houchard
3edb523da5
ck_ring: Move the ring buffer outside of the ck_ring_t
...
Remove the ring buffer from the struct ck_ring, it is now required to
explicitely pass the ring buffer for enqueue/dequeue. That can be useful for
systems with multiple address spaces.
11 years ago
Samy Al Bahra
b778a32b0e
Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
0d6a0508cc
ck_hs: Allow for amortization and partial rebuild in ck_hs_gc.
11 years ago
Samy Al Bahra
f7eff4d61b
ck_hs: Add ck_hs_gc, mechanism for tombstone clean-up.
...
This is treated as an explicit garbage collection step
which will block writers.
11 years ago
Samy Al Bahra
5d4f9ae23d
ck_hs: Add ck_hs_rebuild operation.
...
This operation is short-hand notation for rebuilding
a hash table. This rebuild can occur in the presence
of concurrent readers and will require twice the amount
of memory of the existing hash table until completion.
11 years ago