Commit Graph

276 Commits (dca8e95f519ed599b72fea4e223dcd0b59dfb2d1)

Author SHA1 Message Date
Samy Al Bahra 855a1472a8 ck_ht: Add ck_ht_reset_size_spmc operation.
12 years ago
Samy Al Bahra 73531e9e48 ck_hs: Add ck_hs_reset_size operation.
12 years ago
Samy Al Bahra 4132ec4998 ck_epoch: Add ck_epoch_reclaim function.
12 years ago
Samy Al Bahra c6ff128510 ck_hs: Move replacement comment to ck_hs_set.
12 years ago
Samy Al Bahra 8bad50240d ck_hs: Eliminate pointless legacy branch.
12 years ago
Samy Al Bahra bdadd7bf6b whitespace: More style fixes.
12 years ago
Samy Al Bahra b4e9045c9b ck_barrier_tournament: Remove old/stale comments.
12 years ago
Samy Al Bahra 7c56d73433 ck_barrier_mcs: Style clean-up.
12 years ago
Samy Al Bahra 3587d8e51b build: Remove debug left-over.
12 years ago
Samy Al Bahra e6e97f3ae5 build: Out-of-source builds for primary CK distribution.
12 years ago
Samy Al Bahra 1a0b4122ec ck_hs: Re-use tombstones near load factor.
12 years ago
Samy Al Bahra 2116dfee3c ck_ht: Increment n_entries on empty and tombstone insertions.
12 years ago
Samy Al Bahra 9a0d97c6ef ck_ht: Set previous entry to empty on tombstone insert.
12 years ago
Samy Al Bahra 452cab1ef6 ck_ht: Return snapshot of object IFF we are not at end of probe sequence.
12 years ago
Samy Al Bahra 5a4dc765d8 ck_ht: Remember to set cursor to NULL on probe end.
12 years ago
Samy Al Bahra 1631f2ff84 ck_ht: Enable aggressive re-use of tombstones.
12 years ago
Samy Al Bahra 33a9222923 legal: Update Copyright statements.
12 years ago
Samy Al Bahra 0631e396e0 ck_backoff: Replace ck_backoff_eb with ck_backoff_gb.
12 years ago
Samy Al Bahra 3cc43c4229 ck_epoch: Skip current record if it is marked as free.
12 years ago
Samy Al Bahra 0c56b1b8c6 ck_epoch: Remember to mark entry availability on unregister.
12 years ago
Samy Al Bahra 05f36bc476 ck_internal: Follow-up to previous commit.
12 years ago
Samy Al Bahra a7d79970e7 ck_{ht,internal}: Explicitly use unsigned for bitwise operations.
12 years ago
Samy Al Bahra 749a40159d ck_hs: Fix ck_hs_next to check key value.
13 years ago
Samy Al Bahra e5d701ca79 ck_hs: Whitespace changes.
13 years ago
Samy Al Bahra 51516312ce ck_hs: Clear bits in iterator.
13 years ago
Samy Al Bahra e9ca398123 ck_hs: Add ck_hs_destroy.
13 years ago
Samy Al Bahra 6fded0c0a1 ck_hs: Silence false positives from GCC.
13 years ago
Samy Al Bahra f2dfd828c3 Merge pull request #7 from abelmathew/master
13 years ago
Samy Al Bahra ece2895e9e ck_hs: Drop ck_hs_hash_t abstraction.
13 years ago
Abel Mathew 00d0320767 ck_bag: Fix usage of CK_MD_VMA_BITS.
13 years ago
Samy Al Bahra b4ab193944 ck_hs: Re-order map elements according to reader use.
13 years ago
Samy Al Bahra adaf20b31c ck_ht: Add ck_ht_stat function.
13 years ago
Samy Al Bahra 0f5e540afa ck_hs: Lock-free set loosely modeled after ck_ht.
13 years ago
Abel Mathew 9ff3c2d017 Merge remote-tracking branch 'upstream/master'
13 years ago
Abel Mathew 981e0a49a2 ck_bag: Use CK_MD_VMA_BITS
13 years ago
Samy Al Bahra 01cd3a0256 build: Drop ck_hs, not ready to merge.
13 years ago
Samy Al Bahra 90713046e9 ck_ht: Use CK_MD_VMA_BITS.
13 years ago
Samy Al Bahra 5fad753d6e ck_epoch: No need for the fence on synchronize for TSO.
13 years ago
Samy Al Bahra c45098b21b ck_epoch: Emit fence instructions for TSO, do not emit for recursive calls.
13 years ago
Samy Al Bahra dac91d1edd ck_epoch: Short-circuit on scan block if epoch tick is encountered.
13 years ago
Samy Al Bahra 1c4183cf44 ck_epoch: Reload epoch value on scan failure.
13 years ago
Samy Al Bahra 7821be8a60 ck_epoch: If all threads are inactive, then we are at a grace period.
13 years ago
Samy Al Bahra 5d013028d9 ck_epoch_poll: Update writer epoch snapshot on poll.
13 years ago
Samy Al Bahra 8a9f29a354 ck_epoch: Add comment to clarify short-circuit logic.
13 years ago
Samy Al Bahra 07050dc044 ck_epoch: Short-circuit scan step if epoch was changed from underneath us.
13 years ago
Samy Al Bahra eec4093cdb ck_epoch: Goal represents a full epoch generation in barrier.
13 years ago
Samy Al Bahra 81ba687e14 ck_epoch: Add additional scan step, we only need to observe e + 2.
13 years ago
Samy Al Bahra 1f89848a51 ck_epoch: Fix typo in comment.
13 years ago
Samy Al Bahra 1296a611fd ck_epoch: Only need three. Issue I found only exists in literature.
13 years ago
Samy Al Bahra 0efd4dfe21 ck_epoch: Update comment to reflect my findings.
13 years ago
Samy Al Bahra 57104fcde7 ck_epoch: Change to epoch semantics, bump grace period to 4.
13 years ago
Samy Al Bahra 98d902b024 ck_epoch: Barrier placement for RMO.
13 years ago
Samy Al Bahra c274e8bc54 ck_epoch: Major redesign and rewrite.
13 years ago
Samy Al Bahra 86411b9be8 ck_barrier_centralized: Unconditionally execute full barrier.
13 years ago
Samy Al Bahra 7dda1edecf ck_barrier: Serialize centralized and combining barriers.
13 years ago
Samy Al Bahra 9e29788dde ck_ht: Move ifdef block.
13 years ago
Samy Al Bahra e5cd9fa322 ck_ht: key_length/key are only needed if PP is enabled.
13 years ago
Samy Al Bahra ab310bfdb4 ck_hp: Linearize registration and recycling.
13 years ago
Samy Al Bahra 94475b85be ck_epoch: Remove redundant load fence.
13 years ago
Samy Al Bahra a30a89817c ck_epoch: Follow-up to previous commit
13 years ago
Samy Al Bahra acde423ce8 ck_epoch: Adopt RMO ck_pr semantics.
13 years ago
Samy Al Bahra 1a8b3db453 ck_ht: Various performance improvements.
13 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).
14 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