Samy Al Bahra
c845efcb0a
regressions/epoch: Various clean-up including fixes for Windows.
9 years ago
Samy Al Bahra
968b56598b
regressions/epoch: Additional coverage for epoch sections.
9 years ago
Samy Al Bahra
2e75aefc4a
ck_epoch: Allow for forward progress in concurrent epoch sections.
...
This work is derived directly from the work of John Esmet and Paul
Khuong ({jesmet,pkhuong}@appnexus.com) and PR34.
9 years ago
Samy Al Bahra
0d6d384f3f
ck_epoch: Cache associated epoch state machine in record.
...
This ends up removing arguments (and vector for error) for several
functions on the common path of ck_epoch.
9 years ago
Samy Al Bahra
ea9658d8d8
regressions: Switch to volatile load on ready flag.
9 years ago
Samy Al Bahra
cc600e7d4f
ck_ring: Add MPMC and MPSC variants.
9 years ago
Michael Haberler
7d1e3a6723
regressions/ck_cohort: make it pass with CORES=1
9 years ago
Samy Al Bahra
dfd8b2fb96
Merge branch 'master' of github.com:concurrencykit/ck
9 years ago
Samy Al Bahra
da4b956499
regressions/ck_ht: Remove dependency on ck_pr_add_64.
9 years ago
Olivier Houchard
576e65fc74
ck_ht: Fallback to use 32bits values when 64bits load/store isn't supported.
...
That way we can use ck_ht on i386.
9 years ago
Samy Al Bahra
360bee1013
regressions/ck_pr/fp: Remove redundant load.
10 years ago
Samy Al Bahra
93c3d452a2
regressions/ck_pr: Add fence_lock coverage to fast-path test.
10 years ago
Samy Al Bahra
b46703ec5c
regressions: Add stupid fast-path benchmark for fences.
...
This is far from comprehensive but needed for some upcoming
tests.
10 years ago
Samy Al Bahra
7ffe069973
regressions/spinlock: Do not rely on RMW for counter update.
...
This makes it more likely to trigger load-store/store-load re-ordering
across critical sections.
10 years ago
Samy Al Bahra
6e49af143f
regressions/ck_hp: Switch to using ck_hp_set_fence.
10 years ago
Samy Al Bahra
0dfd145aa6
whitespace: Update Copyright messages.
10 years ago
Samy Al Bahra
ea567fc58a
regressions/ck_epoch: Additional -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
959e5fd744
regressions/ck_epoch: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
2030767b21
regressions/ck_rhs: -Wcast-qual clean-up.
10 years ago
Samy Al Bahra
7d70240449
general: First pass cast qualifier warning fixes.
10 years ago
Samy Al Bahra
8937ec84c3
regressions: Use correct regression for ck_ring_spmc_template.
...
We were previously building the wrong target. This was found out due
to Phil Sorber pointing out that _template.c would have had compilation issues.
10 years ago
Samy Al Bahra
6ecd734757
ck_epoch: Remove unnecessary keyword.
10 years ago
Samy Al Bahra
b3f374cb55
ck_epoch: Allow for deferral from callbacks.
...
This makes things much easier in cases where deferral is mixed
with other reclamation mechanisms such as reference counters.
10 years ago
Olivier Houchard
0422a23f62
regressions: Test ck_rhs_apply.
10 years ago
James Cowgill
b6bd963a7e
regressions/ck_spinlock: add ck_hclh to clean target
10 years ago
Samy Al Bahra
d8f8b4a6c6
regressions: Deletion coverage for ck_hs_apply.
10 years ago
Samy Al Bahra
d6ba2a6273
whitespace: Sweeping whitespace changes.
...
Removing trailing whitespaces and newlines.
10 years ago
Samy Al Bahra
92645aeb47
regressions/ck_hs: Add ck_hs_apply benchmark.
...
Preliminary results show 15%-32% latency improvements from
large to small hash tables.
10 years ago
Samy Al Bahra
5201dc3d45
regressions/ck_hs: Make set_replace in serial benchmark paranoid.
10 years ago
Samy Al Bahra
01aa93f05a
regressions/ck_hs: Additional ck_hs_apply coverage.
10 years ago
David Joseph
1d7057eb58
ck_bitmap: add a ck_bitmap_bts function.
...
Signed-off-by: Samy Al Bahra <sbahra@backtrace.io>
10 years ago
Samy Al Bahra
7fc90ebf25
regressions/ck_stack: Align stack for cmpxchg16b.
10 years ago
Samy Al Bahra
0411a0dce5
common: Get rid of EBX restoration for x86-64.
...
It is not a PIC register, break out x86-specific PIC support.
This would break x86-64 for less forgiving assemblers that
(correctly) do not accept pushl/popl.
10 years ago
Devon H. O'Dell
b4e865f201
Don't clobber PIC register on x86.
11 years ago
Samy Al Bahra
a23e64be23
Merge branch 'ck_swlock' of https://github.com/skjaidev/ck
11 years ago
Jaidev Sridhar
2e9b4dd740
regressions: Add memcpy test with ck_swlock latch
11 years ago
Samy Al Bahra
24989a3b29
regressions: Add ck_swlock to make check target.
11 years ago
Jaidev Sridhar
822a3e498e
regressions: Remove ck_swlock_read_latchlock() from benchmarks
11 years ago
Jaidev Sridhar
2950565037
ck_swlock: Fix regressions
11 years ago
Jaidev Sridhar
7a9d70b59c
ck_swlock: Update regressions
11 years ago
Samy Al Bahra
e2f7df0f1d
ck_swlock: Various improvements.
...
- Remove recursive locks.
- Remove unnecessary fences.
- Add necessary fences.
- Simplify state machine.
11 years ago
Samy Al Bahra
66aee95dd1
Merge branch 'ck_swlock' of github.com:skjaidev/ck into swlock
...
Conflicts:
regressions/Makefile
11 years ago
Jaidev Sridhar
0f44d50e33
ck_swlock: Use single word for lock bits
11 years ago
Samy Al Bahra
901310450d
regressions: Add ck_tflock_init coverage.
11 years ago
Samy Al Bahra
15dd1b1d7f
regressions: Add ck_tflock build targets.
11 years ago
Samy Al Bahra
0b3ea63daf
regressions: Add ck_tflock tests to top-level Makefile.
11 years ago
Samy Al Bahra
46042c7996
tflock: Task-fair reader-writer locks reference implementation.
11 years ago
Jaidev Sridhar
9ee4334e10
Merge remote-tracking branch 'upstream/master' into ck_swlock
...
Conflicts:
.gitignore
11 years ago
Samy Al Bahra
3d6bd14e60
regressions: Fix function declaration for ck_bitmap test.
11 years ago
Samy Al Bahra
c657c01a8b
ck_rwlock: Remove debug optimization level.
11 years ago
Jaidev Sridhar
207194359f
ck_swlock: Convert ELIDE tests to single writer
11 years ago
Jaidev Sridhar
c7dc66bf0c
ck_swlock: Validation for normal write lock
11 years ago
Jaidev Sridhar
3412f135df
ck_swlock: Fix makefile
11 years ago
Jaidev Sridhar
8646990847
Merge remote-tracking branch 'jsridhar-dev/ck_swlock' into ck_swlock
...
Conflicts:
include/ck_swlock.h
regressions/ck_swlock/validate/validate.c
11 years ago
Jaidev Sridhar
1f03809acb
ck_swlock: We shouldn't decrement n_readers when
...
ck_swlock_read_latchlocks observers a writer if the unlatch
operation sets n_readers to 0.
The unlatch operation now just unsets the latch bit, we can safely
decrement n_readers in ck_swlock_read_latchlocks().
+ Fixes to validation tests & ELIDE coverage.
11 years ago
Paul Khuong
f06a5c4a71
ck_bitmap: more bulk operations, less space, more tests
...
* new bulk rmw: intersection, intersection_negate (with complement),
* new bulk reads: empty, full, count, count_intersect
* ck_bitmap_iterator fixes: avoid out of bounds read on empty bitmaps,
and ck_bitmap_next is marginally faster on sparse bitmaps .
* less space: the bitmap itself is an array of unsigned int, which
eliminates alignment padding between the n_bit field and the bitmap.
* more unit tests.
11 years ago
Samy Al Bahra
240d30c8c4
regressions/ck_swlock: Fix-up style and Copyright.
11 years ago
Samy Al Bahra
1997acde22
regressions: Remove optimization flags from ck_swlock.
11 years ago
Jaidev Sridhar
9732e2bdb3
ck_swlock: A single writer rwlock.
...
This lock is copy-safe when the latch operations are used.
Simplified write side operations lead to lower latencies than ck_rwlock
for single writer workloads.
11 years ago
Samy Al Bahra
c3097a4a7b
regressions: Remove latchlock coverage.
11 years ago
Samy Al Bahra
2a701163eb
ck_rwlock: Ditch ck_rwlock latch for ck_swlock.
11 years ago
Samy Al Bahra
bf3a3fdeb2
Revert "regressions: Benchmark coverage for latchlock operations."
...
This reverts commit 24d65432e0
.
11 years ago
Samy Al Bahra
24d65432e0
regressions: Benchmark coverage for latchlock operations.
11 years ago
Samy Al Bahra
0878bf489a
regressions/ck_pr: Coverage for immediates.
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
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
ca49839883
regressions/ck_fifo: Add coverage for deinit routines.
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
79fb6176bb
regressions: Add coverage for ck_bytelock off-by-one.
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
Samy Al Bahra
0a256f0892
regressions: Empty set coverage for ck_hs_gc.
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
fb7310b4cb
regressions: Coverage for parametric ring.
11 years ago
Samy Al Bahra
f769f842a4
regressions: Additional coverage for delete mode.
11 years ago
Samy Al Bahra
4e4c24ba63
regressions: Additional ck_hs_gc coverage.
11 years ago
Samy Al Bahra
207884f9e3
regressions: Coverage for ck_ht delete workload hint.
11 years ago
Samy Al Bahra
1ecb37b28f
Merge branch 'cognet' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
fdc2061935
regressions/ck_ring: Always treat buffer as opaque.
11 years ago
Samy Al Bahra
f9ae05b15a
regressions/ck_ring: Drop template variants.
11 years ago
Olivier Houchard
2b08211d60
regressions: Mark the core variable as unused, to appease the compiler.
11 years ago
Olivier Houchard
0f92cbab08
ck_spinlock: Commit the missing HCLH bits.
11 years ago
Samy Al Bahra
ce7533e98a
regressions/ck_ht: Use random seed for ck_ht_gc.
11 years ago
Samy Al Bahra
6818335303
regressions/ck_ht: ck_ht_gc coverage.
11 years ago
Olivier Houchard
e5f7639962
ck_spinlock: Add a HCLH implementation.
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
Olivier Houchard
4c878ff1de
regressions: Implement aff_iterate() for FreeBSD.
11 years ago
Olivier Houchard
b553f42fae
Reduce the memory size used for testing ck_fifo_mpmc, to make it easier for
...
low-memory machines (such as your typical arm hardware).
Approved by: mux (mentor)
11 years ago
Samy Al Bahra
566d0c68be
regressions/ck_hs: Move sliding window.
11 years ago
Samy Al Bahra
3c1c91bd25
regressions: Update ck_hs_gc coverage.
11 years ago
Samy Al Bahra
f085d75ff6
regressions/ck_hs: Performance coverage.
11 years ago
Samy Al Bahra
5f6cbabc4b
regressions/ck_hs: Serial coverage for rebuild.
11 years ago
Samy Al Bahra
c2f5ca52f6
regressions/ck_hs: Serial benchmark coverage for DELETE mode.
11 years ago
Samy Al Bahra
aadae2bf13
regressions/ck_hs: Coverage for delete mode.
11 years ago
Samy Al Bahra
f805ee746e
regressions: Coverage for ck_hs_put_unique.
11 years ago