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
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
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
de9220ce16
ck_array: Change semantics of put_unique return values.
...
More specifically, -1 should idiomatically indicate error.
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
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
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
1898a8e450
regressions: Coverage for CK_SEQUENCE_READ.
12 years ago
Samy Al Bahra
61d5beff46
regressions: Use correct hash value for blob!
12 years ago
Samy Al Bahra
077ca3ab00
regressions: Increase coverage of ck_hs_move.
...
Iteration count increased, duplicate logic fixed.
12 years ago
Samy Al Bahra
120a262f18
ck_hs: Test coverage for ck_hs_move.
12 years ago
Samy Al Bahra
721cc0605c
regressions: Remove -g from ck_rwcohort build flags.
12 years ago
Samy Al Bahra
895ff34aab
regressions: Add ck_rwcohort to top-level Makefile.
12 years ago
Samy Al Bahra
b36e35ec76
Merge branch 'master' of https://github.com/bscheinman/ck
12 years ago
Samy Al Bahra
768b5b3597
ck_rwlock: Add adaptive elision and unit tests.
12 years ago
Samy Al Bahra
ac4a703525
regressions: Get rid of debug flags in ck_rwlock benchmark.
12 years ago
Samy Al Bahra
671f82d7a8
ck_rwlock: Migrate to ck_elide.h.
12 years ago
Samy Al Bahra
143bc4b336
regressions: Add ck_spinlock locked coverage.
12 years ago
Samy Al Bahra
4d2ccfe497
ck_rwlock: Add basic RTM interface to rwlock.
...
It is possible this will be moved to a self-contained file.
For a majority of architectures, RTM is an unnecessary
implementation-specific optimization.
12 years ago