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
Samy Al Bahra
5b4ea9cfe5
ck_bag: Update include-guard comment.
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
f1293b379b
ck_bag: Insert into empty list for non-x86_64.
13 years ago
Samy Al Bahra
2111824c9e
regressions: Add ck_bag regressions.
13 years ago
Samy Al Bahra
28eadc7b56
ck_bag: We use the next pointer.
13 years ago
Samy Al Bahra
2a3d5a691e
ck_bag: Additional portability fixes.
13 years ago
Samy Al Bahra
617be15523
ck_bag: Fix build error, other non-x86_64 issues.
13 years ago
Samy Al Bahra
a4463510e8
ck_bag: Fix for non-x86_64 targets.
...
n_entries is currently of uintptr_t type, not unsigned int.
13 years ago
Samy Al Bahra
07b41324d8
ck_bag: Add to built library.
13 years ago
Samy Al Bahra
aa9ec2128c
ck_bag: Add necessary ck_stdint include.
13 years ago
Samy Al Bahra
efe592cafa
ck_bag: Operating on pointer to NULL is undefined behavior.
...
Remove NULL check from ck_bag_remove_spmc.
13 years ago
Samy Al Bahra
a6dce3abff
regressions/ck_bag: Use epoch reclamation, allow for user-defined block size.
13 years ago
Samy Al Bahra
a80ade3eef
ck_bag: Support user-defined block size (in units of cache lines).
13 years ago
Samy Al Bahra
85c37ef251
ck_bag: Fix bug in ck_ht_iterator_init.
...
It is possible for the bag associated with the iterator to be empty.
13 years ago
Samy Al Bahra
656b06582b
ck_bag: Explicit load fence after acquiring n_entries snapshot.
13 years ago
Samy Al Bahra
f63e2ea8fc
ck_bag: Do not defer destruction in ck_bag_destroy.
13 years ago
Samy Al Bahra
f940cc1263
ck_bag: Various stylistics changes, ck_md: Rename CK_MD_PAGE_SIZE to CK_MD_PAGESIZE.
13 years ago
Abel Mathew
8e83963d63
ck_bag: Add support for non x86_64 architectures. Memoize n_entries lookup when iterating over a bag.
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
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
aa98cf8a01
build: Bump next release to 0.2.
13 years ago
Samy Al Bahra
42b32c6e6a
ck_ring: Apply ck_ring_size logic to ck_ring_enqueue functions.
...
This bug fix was contributed by Matt Johnson <johnso87@...>.
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
Samy Al Bahra
3ad9f7e63d
ck_ht: Add support for other 64-bit platforms.
...
Specifically, any platform that has CK support for 64-bit
load/store operations.
Additional improvements have been made to the unit tests
to disambiguate put/get failures.
13 years ago
Samy Al Bahra
01d368b703
ck_fifo: Use ck_spinlock instead of specific spinlock implementation.
13 years ago
Samy Al Bahra
381572e13f
doc: Reference relevant ck_ht_entry functions.
13 years ago
Samy Al Bahra
516381da4c
regressions: Remove CORES definition from ck_ht ubenches.
13 years ago
Samy Al Bahra
a5403ffe3d
doc: Add additional ck_ht manual pages.
...
Minor corrections to ck_ht_entry_key_direct and
ck_ht_entry_value_direct manual pages included.
13 years ago
Samy Al Bahra
4ea160d291
doc: More ck_ht documentation.
13 years ago
Samy Al Bahra
319ae636d2
doc: Add more ck_ht manual pages. This is boring.
13 years ago
Samy Al Bahra
704d159c69
build: Move installation of documentation to doc Makefile.
13 years ago
Samy Al Bahra
3a9087c838
build: Correct default MANDIR.
13 years ago
Samy Al Bahra
6929e9372b
doc: Support systems that lack gzip.
13 years ago
Samy Al Bahra
c862b08fb7
doc: Add manual page for ck_ht_entry_empty.
13 years ago
Samy Al Bahra
9723042b67
build: Remember to use DESTDIR
13 years ago
Samy Al Bahra
ad5816b627
build: Bump version for next release.
13 years ago
Samy Al Bahra
90cffdf4fb
doc: Initial support for manual pages, pending portability concerns.
...
I must update this for Solaris.
13 years ago
Samy Al Bahra
ea6f422e5b
ck_ht: Add manual pages for a subset of ck_ht functionality.
13 years ago
Samy Al Bahra
41ec076372
ck_ht: Add ck_ht_entry_set_key_direct function.
13 years ago
Samy Al Bahra
fb5d9331e2
ck_ht: Add ck_ht_entry_empty function.
...
Function returns true if the initialized ck_ht_entry_t
pointed to by its argument does not contain a key-value pair.
13 years ago
Samy Al Bahra
cef7de2c5f
regressions: ck_ht parallel benchmark makes use of affinerator.
...
Currently, it will default to RR behavior across cores with no
delta support.
13 years ago
Samy Al Bahra
d9017b3e5b
regressions: Add multi-threaded SPMC synthetic benchmark for ck_ht.
13 years ago
Samy Al Bahra
5f653956d4
ck_ht: Update comment in ck_ht_get_spmc.
13 years ago
William Irwin
99f2454646
Manually convert tail recursion to iteration in ck_ht_grow_spmc().
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
13 years ago
William Irwin
90f06f358b
Manually convert tail recursion to iteration in ck_ht_get_spmc().
...
Signed-off-by: Samy Al Bahra <sbahra@repnop.org>
13 years ago
Samy Al Bahra
af34276eda
ck_ht: Fix Copyright statement. This is BSD-licensed.
13 years ago
Samy Al Bahra
13b398a11f
build: Bump version counter for silent release.
13 years ago
Samy Al Bahra
fdea287873
ck_ht: Update deletions before committing tombstone and after committing replacement value.
13 years ago