Samy Al Bahra
7ebbcf55b1
regressions/ck_spinlock: Disable linux_spinlock on unsupported platforms.
12 years ago
Samy Al Bahra
d72ca391f6
ck_bytelock: Switch to RMO model.
12 years ago
Samy Al Bahra
bac1c1d26a
regressions/ck_stack: Disable various TRYMPMC benchmarks on unsupported platforms.
12 years ago
Samy Al Bahra
3e4aa8239a
regressions: Add _GNU_SOURCE to ck_backoff. Don't apply to all.
12 years ago
Samy Al Bahra
f4e50d16d8
regressions: Use _GNU_SOURCE by default on Linux.
12 years ago
Samy Al Bahra
8043f52130
ck_pr: Add ck_pr_barrier for compiler barrier.
...
CK_CC_BARRIER isn't idiomatic, roll this into PR memory model
instead.
12 years ago
Samy Al Bahra
7e9a0d8751
regressions/ck_brlock: Reduce number of iterations.
12 years ago
Samy Al Bahra
f8c19a89b4
regressions/ck_hp: LLVM's optimizer keeps getting the best of us.
...
If I see more regressions in LLVM, I may end up enforcing compiler
barriers in all inlined code.
12 years ago
Samy Al Bahra
f567513f8c
regressions/ck_hp: Add Donner's unit test.
12 years ago
Samy Al Bahra
3f6a3660eb
regressions/ck_stack: Add trypush unit tests to check target.
...
Submitted by Andrew Schorr <aschorr@telemetry-inves....>.
12 years ago
Samy Al Bahra
d454f729e0
regressions/ck_fifo: Add dependency to ck_fifo.h.
12 years ago
Samy Al Bahra
290add2e50
build/regressions: Add CORES option, add "check" target.
...
The check target will attempt to run the unit tests with some
sane defaults.
12 years ago
Samy Al Bahra
1a8b3db453
ck_ht: Various performance improvements.
...
Though a new implementation is in the works, roll in
some performance improvements in the mean time.
The probe routines have been broken out into separate
reader/writer variants. These variants are much less
branch-intensive (and don't involve predict to stall
in many cases).
New implementation is attempting to deal with
interface-induced overheads.
12 years ago
Samy Al Bahra
e1ec55819e
regressions/common. Move edx/eax to x86_64 block.
12 years ago
Samy Al Bahra
a56cac3a38
regressions/ck_sequence: Work-around LLVM bug.
...
For some reason, load operations were being re-ordered with respect
to read begin operation (even with explicit compiler barriers).
12 years ago
Samy Al Bahra
59158c824b
ck_ht: Do not re-hash on growth for non-PP case.
...
We already store the hash value in the hash table entry
if pointer packing is not enabled.
13 years ago
Samy Al Bahra
72a8adb599
ck_ht: Add support for per-hash-table allocator.
...
Documentation and regressions tests have been updated to reflect this.
This functionality allows for individual hash tables use to different
allocation functions. Thanks to Wez Furlong for pointing out the necessary
documentation update for ck_ht.
13 years ago
Samy Al Bahra
af7b877414
regressions/ck_ht: Turn off CK_MD_RDTSCP by default.
13 years ago
Samy Al Bahra
cc23781512
regressions/ck_ht: Switch to a format that is more readable by R.
...
This allows me to use read.table with minimal changes.
13 years ago
Samy Al Bahra
9a3909163f
regressions/ck_ht: Drop secondary sequence table.
...
It is unnecessary, we primarily end up measuring cache miss costs
with it.
13 years ago
Samy Al Bahra
0b32fd064e
regressions/ck_ht: Previous commit was in fact shuffled insertion.
...
Add actual shuffled get.
13 years ago
Samy Al Bahra
efdae8f77b
regressions/ck_ht: Extend serial benchmark.
...
Add key shuffle get test.
13 years ago
Samy Al Bahra
3b5a3c857e
regressions: Update out-of-date comment.
13 years ago
Samy Al Bahra
da9e0f58f1
regressions: Use RDTSCP in presence of CK_MD_RDTSCP.
13 years ago
Samy Al Bahra
b353ebe8c2
regressions: Remove debug build flags.
13 years ago
Samy Al Bahra
314ce3ad81
ck_rwlock: Drop factor argument to trylock API.
...
Remove read-side recursion tests, it is an unsupported
feature to begin with.
13 years ago
Samy Al Bahra
512bbc050b
ck_rwlock: Add recursive trylock operations.
...
Unlike ck_rwlock, there is no spin factor associated with these.
13 years ago
Samy Al Bahra
380dd410c6
ck_backoff: Saturate geometric back-off.
...
A simple regression test has been added to verify this behavior.
13 years ago
Samy Al Bahra
fc2517947b
regressions/ck_ht: Use user-specified hash function for direct benchmark.
13 years ago
Samy Al Bahra
18d74f55a1
ck_ht: Add support for user-specified hash functions.
13 years ago
Samy Al Bahra
606afe0f23
ck_rwlock: Add ck_rwlock_recursive facility.
...
Allows for write-side recurion. Added upon request by
other users. Regression test has been updated.
13 years ago
Samy Al Bahra
402c31ca9a
ck_hp_fifo: Add try{enqueue,dequeue} variants.
...
Regression test has been updated and passes.
13 years ago
Samy Al Bahra
a90b402c0c
regressions/ck_fifo: Add test for try{enqueue,dequeue} API.
13 years ago
Samy Al Bahra
ff6f4d94f4
ck_stack: Add wait-free trypop and trypush operations.
...
Regression tests have been updated to test these operations as
equivalents to regular looping push/pop operations.
13 years ago
Samy Al Bahra
2b2e44203b
Merge pull request #5 from abelmathew/master
...
ck_bag: Merge from abelmathew/master.
13 years ago
Abel Mathew
6a6f1d53c8
ck_bag: Validate block_size > block_overhead during ck_bag_init.
...
Check ck_bag_init return value in unit test.
13 years ago
Abel Mathew
bbc6f584fd
ck_bag: Various Bug Fixes and Cleanup.
...
Migrate available block list to CK_LIST.
New blocks are only allocated when the available list is exhausted.
Remove bag->avail_tail.
Print out number of writer iterations for unit test.
Lengthen duration of unit test.
13 years ago
Samy Al Bahra
099a6c7b04
ck_bitmap: Add bitmap iterator functions.
...
These can do with some optimization. A majority of this
work is based off an earlier patch submitted by
Shreyas Prasad <sprasad@appne....>.
13 years ago
Samy Al Bahra
3cf265cba0
all: Strip trailing whitespaces.
13 years ago
Samy Al Bahra
10d86b6424
ck_bitmap: Overhaul API for improved support of static instances.
...
This changes comes at the cost of clear linearizability, which
is suitable for my use-case. Users can easily implement linereazability
through an additional level of indirection to the ck_bitmap object.
13 years ago
Samy Al Bahra
9d4541d703
ck_bitmap: Fix ck_bitmap_init.
...
Refs #85
13 years ago
Samy Al Bahra
773ceb8257
regressions: Add necessary header file for sleep.
13 years ago
Samy Al Bahra
ab73676ee4
ck_bitmap: Lock-free MPMC contiguous bitset implementation.
...
Rather trivial data structure but driven by sufficient user-demand.
Manual pages to come.
13 years ago
Abel Mathew
eaa8ad1d4d
ck_bag: Various bug fixes.
...
Add necessary load fence to iterator.
Initialize iterator appropriately for empty bags.
Improve unit test.
Fix bag linkage bug for non x86_64 targets.
Fix block accounting on removal.
13 years ago
Samy Al Bahra
2111824c9e
regressions: Add ck_bag regressions.
13 years ago
Samy Al Bahra
a6dce3abff
regressions/ck_bag: Use epoch reclamation, allow for user-defined block size.
13 years ago
Abel Mathew
431c24a90a
ck_bag: Lock-Free SPMC bag/collection for x86_64. A bag is a linked list of blocks, with each block containing an array. Insertions are on the order of O(1) and deletions are on the order of O(N). This data structure is meant to act as a lock-free vector implementation.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
13 years ago
Samy Al Bahra
0bcb0b48b2
regressions: Add ck_ht parallel direct microbenchmark.
13 years ago
Samy Al Bahra
706fd07de7
legal: Update Copyright statements.
13 years ago
Samy Al Bahra
519a14b7f3
ck_ht: Add CK_F_HT feature flag.
13 years ago