Commit Graph

132 Commits (b63fe45460ba9f87a332f4c38b43ca5372722207)

Author SHA1 Message Date
Samy Al Bahra 07050dc044 ck_epoch: Short-circuit scan step if epoch was changed from underneath us.
12 years ago
Samy Al Bahra eec4093cdb ck_epoch: Goal represents a full epoch generation in barrier.
12 years ago
Samy Al Bahra 81ba687e14 ck_epoch: Add additional scan step, we only need to observe e + 2.
12 years ago
Samy Al Bahra 1f89848a51 ck_epoch: Fix typo in comment.
12 years ago
Samy Al Bahra 1296a611fd ck_epoch: Only need three. Issue I found only exists in literature.
12 years ago
Samy Al Bahra 0efd4dfe21 ck_epoch: Update comment to reflect my findings.
12 years ago
Samy Al Bahra 57104fcde7 ck_epoch: Change to epoch semantics, bump grace period to 4.
12 years ago
Samy Al Bahra 98d902b024 ck_epoch: Barrier placement for RMO.
12 years ago
Samy Al Bahra c274e8bc54 ck_epoch: Major redesign and rewrite.
12 years ago
Samy Al Bahra 86411b9be8 ck_barrier_centralized: Unconditionally execute full barrier.
12 years ago
Samy Al Bahra 7dda1edecf ck_barrier: Serialize centralized and combining barriers.
12 years ago
Samy Al Bahra 9e29788dde ck_ht: Move ifdef block.
12 years ago
Samy Al Bahra e5cd9fa322 ck_ht: key_length/key are only needed if PP is enabled.
12 years ago
Samy Al Bahra ab310bfdb4 ck_hp: Linearize registration and recycling.
12 years ago
Samy Al Bahra 94475b85be ck_epoch: Remove redundant load fence.
12 years ago
Samy Al Bahra a30a89817c ck_epoch: Follow-up to previous commit
12 years ago
Samy Al Bahra acde423ce8 ck_epoch: Adopt RMO ck_pr semantics.
12 years ago
Samy Al Bahra 1a8b3db453 ck_ht: Various performance improvements.
12 years ago
Samy Al Bahra 59158c824b ck_ht: Do not re-hash on growth for non-PP case.
13 years ago
Samy Al Bahra 72a8adb599 ck_ht: Add support for per-hash-table allocator.
13 years ago
Samy Al Bahra a832237b0a ck_ht: We do not need to reprobe for direct tables on a per-slot basis.
13 years ago
Samy Al Bahra 500d36cdb8 ck_ht: Fix race condition associated with no pointer packing variant.
13 years ago
Samy Al Bahra 18d74f55a1 ck_ht: Add support for user-specified hash functions.
13 years ago
Samy Al Bahra 46a88705c4 ck_hp: Include missing ck_backoff.h include.
13 years ago
Samy Al Bahra e074a089be ck_epoch: Include missing ck_backoff.h file.
13 years ago
Samy Al Bahra 42615a234f ck_bag: Remove trailing whitespace.
13 years ago
Samy Al Bahra ef3e6f394b ck_ht: Remove trailing whitespace.
13 years ago
Samy Al Bahra 4fcb6a5e5f ck_bag: Disable pointer packing by default.
13 years ago
Samy Al Bahra 8bed9627a6 ck_ht: Enable pointer packing only if explicitly enabled.
13 years ago
Samy Al Bahra 2b2e44203b Merge pull request #5 from abelmathew/master
13 years ago
Abel Mathew 6a6f1d53c8 ck_bag: Validate block_size > block_overhead during ck_bag_init.
13 years ago
Abel Mathew 2e921847ab ck_bag: Free unoccupied blocks in ck_bag_destroy.
13 years ago
Abel Mathew bbc6f584fd ck_bag: Various Bug Fixes and Cleanup.
13 years ago
Samy Al Bahra 3cf265cba0 all: Strip trailing whitespaces.
13 years ago
Abel Mathew 854ede8cfe ck_bag: Fix overallocation bug.
13 years ago
Abel Mathew 3f99a7c4f4 ck_bag: rename n_entries_bag to n_cachelines, ck_bag_init. Add validation for bag->info.max on x86_64
13 years ago
Abel Mathew eaa8ad1d4d ck_bag: Various bug fixes.
13 years ago
Samy Al Bahra f1293b379b ck_bag: Insert into empty list for non-x86_64.
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.
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.
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 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.
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.
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.
13 years ago
Samy Al Bahra fb5d9331e2 ck_ht: Add ck_ht_entry_empty function.
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().
13 years ago
William Irwin 90f06f358b Manually convert tail recursion to iteration in ck_ht_get_spmc().
13 years ago
Samy Al Bahra af34276eda ck_ht: Fix Copyright statement. This is BSD-licensed.
13 years ago
Samy Al Bahra fdea287873 ck_ht: Update deletions before committing tombstone and after committing replacement value.
13 years ago
Samy Al Bahra 7a4118e964 Revert "ck_ht: Fix bug in tombstone replacement on set."
13 years ago
Samy Al Bahra ef82078e59 ck_ht: Fix bug in tombstone replacement on set.
13 years ago
Samy Al Bahra 9f786337f7 ck_ht: Lock-free SPMC hash table, for x86_64.
13 years ago
Samy Al Bahra cc4b83793f ck_epoch: Flip arguments, specify epoch_entry before destructor.
13 years ago
Samy Al Bahra 10ffb2e6f1 ck_epoch: Support per-object destructors.
13 years ago
Samy Al Bahra f069d081be ck_hp: Branch-free compare (contributed by Degski).
13 years ago
sbahra 49a2820000 Added support for Sun Studio 12 C compiler.
14 years ago
Samy Al Bahra 20fb7a9200 ck_hp: Match epoch semantics.
14 years ago
Samy Al Bahra 739d603e22 ck_hp: Remove unnecessary header file.
14 years ago
Samy Al Bahra 7b8dfe44be ck_hp: Rename *subscribe to *register.
14 years ago
Samy Al Bahra 3747da1f2a ck_hp: Remove redundant expression.
14 years ago
Samy Al Bahra 68f376babf ck_hp: Explicitly flush stores on initialization.
14 years ago
Samy Al Bahra fb25458121 ck_barrier: Clean up tournament barriers.
14 years ago
Samy Al Bahra 8b4f72057c ck_barrier: First round audit, tournament barriers next.
14 years ago
Samy Al Bahra b0acd3439b ck_barrier: Trivial whitespace change to test cronjob.
14 years ago
David Joseph f475d2e7ab Commented combining, dissemination, tournament and mcs barriers.
14 years ago
David Joseph 64f6702a4c Implemented tournament and mcs barriers.
14 years ago
Samy Al Bahra 563e20a990 Minor improvements to dissemination barrier.
14 years ago
David Joseph 480db1321c Implemented dissemination barriers.
14 years ago
Samy Al Bahra 489bbc058b Hazard Pointers: Critical fix.
14 years ago
Samy Al Bahra 5900adb424 Move ck_barrier.h into shared/static object. Add CK_CC_CACHELINE.
14 years ago
Samy Al Bahra a181955305 Silence compiler warnings for ck_hp.
14 years ago
Samy Al Bahra cbd30b2206 Initial import.
14 years ago