Commit Graph

415 Commits (68ef5525272180edf15e39cf972088eff413a2d3)

Author SHA1 Message Date
Samy Al Bahra 8311e9fcb4 ck_pr: Update GCC port and change ck_pr dependency path.
12 years ago
Samy Al Bahra 44b769963f ck_pr: ck_pr_fence_X_Y interface has been added.
12 years ago
Brendon Scheinman dcdc6dd100 ck_rwcohort: Fixed indentation and looping logic and added initial documentation
12 years ago
Brendon Scheinman 444df7dfe5 Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
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
Brendon Scheinman cc4b248bcb ck_rwcohort: Renamed ck_rwcohort namespace
12 years ago
Brendon Scheinman e0f46e6045 merged from upstream repo
12 years ago
Brendon Scheinman 0d20391563 ck_rw_cohort: Added benchmark tests for reader-writer cohort locks
12 years ago
Brendon Scheinman f693a16253 ck_rw_cohort: Added neutral reader-writer lock
12 years ago
Brendon Scheinman 21750b9321 ck_rw_cohort: Added read-preference logic and updated validation test to use it
12 years ago
Samy Al Bahra 1201e09577 ck_ring: Remove stale comment.
12 years ago
Brendon Scheinman f93369c4fc ck_rw_cohort: Removed backwards jump
12 years ago
Brendon Scheinman a352b46d0b ck_rw_cohort: renamed ck_rw_cohort namespace
12 years ago
Samy Al Bahra 011a9751a6 ck_queue: Add traversal-safe SPMC STAILQ.
12 years ago
Samy Al Bahra 5a13fddf70 ck_hp_fifo: Style fixes.
12 years ago
Samy Al Bahra 7980489eaf ck_hp_stack: Style fixes.
12 years ago
Samy Al Bahra 5c483e3b1c ck_hp: hp_acquire patterns require strict fences under TSO.
12 years ago
Samy Al Bahra e827557ee9 ck_hs: Whitespace change.
12 years ago
Samy Al Bahra d6fefccd6e ck_pflock: Update comment, implementation is not so naive now.
12 years ago
Samy Al Bahra 676f8fed88 Merge branch 'cohort_trylock' of git://github.com/bscheinman/ck
12 years ago
Samy Al Bahra 878b8e6321 ck_ring: Correct CK_RING_SPMC_ENQUEUE_SIZE typo.
12 years ago
Samy Al Bahra 67381af3c5 ck_ring: Expose *_size variants to type-specialized ck_ring.
12 years ago
Samy Al Bahra 45f648bd33 ck_ring: Add *_size_* ck_ring enqueue operations.
12 years ago
Brendon Scheinman 646cb2cb06 ck_cohort_rw: Removed unused member variable
12 years ago
Samy Al Bahra 86884ed574 ck_fifo_mpmc: Fix NULL deference when re-using nodes.
12 years ago
Samy Al Bahra c4e50a193a ck_fifo: Style fixes.
12 years ago
Brendon Scheinman 63bfa0d353 ck_cohort_rw: Reduced line wrapping
12 years ago
Brendon Scheinman 5e1b614108 ck_cohort_rw: Initial implementation with validation test.
12 years ago
Brendon Scheinman 6441c90cfe Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Brendon Scheinman 3c8728b214 ck_cohort: Added trylock support to cohort framework
12 years ago
Samy Al Bahra 4b9badd440 ck_cohort: Remove unnecessary whitespace.
12 years ago
Brendon Scheinman 62c121f500 ck_cohort: Added example code to man page
12 years ago
Samy Al Bahra c393a97cb7 ck_pflock: Fix Copyright typo from original patch.
12 years ago
Samy Al Bahra f6a53fd9de ck_cohort: First-cut implementation of generalized cohort interface.
12 years ago
Samy Al Bahra 060b922dc2 ck_pflock: Whitespace change.
12 years ago
Samy Al Bahra aec2797d27 ck_pflock: Load acquire semantics are sufficient for read_unlock.
12 years ago
Samy Al Bahra 54845bb8e7 ck_pflock: Phase-fair read-write lock implementation.
12 years ago
Samy Al Bahra 7d3fd9d227 ck_fifo: Get rid of load_depends usage for now.
12 years ago
Samy Al Bahra b7d258b219 ck_pr/gcc: ck_pr_fence_load_depends should be heavy-weight on catch-all target.
12 years ago
Samy Al Bahra d09e48daed ck_spinlock: Only enable trylock path for TSO architectures at the moment.
12 years ago
Samy Al Bahra 27d454248d ck_spinlock: Add ticket lock with trylock operation.
12 years ago
Joao Fernandes 086ebf7126 ck_pr: moving PPC32 to RMO.
12 years ago
Samy Al Bahra 8c53de1e70 ck_rwlock: Add documentation on visibility semantics.
12 years ago
Samy Al Bahra 1ea5769fd4 ck_rwlock: Improve code legibility.
12 years ago
Samy Al Bahra 334b15e6e0 ck_bytelock: Acquire semantics on read.
12 years ago
Samy Al Bahra 038b3d816d ck_rwlock: Forgot to add acquire on operation success.
12 years ago
Samy Al Bahra 0598307186 whitespace: Various style changes.
12 years ago
Abel Mathew 25658c4f5f ck_queue: Fix CK_LIST_INSERT_HEAD.
12 years ago
Samy Al Bahra 33a9222923 legal: Update Copyright statements.
12 years ago
Samy Al Bahra d29ac5afdb ck_bytelock: Fix downgrade path from writer to reader.
12 years ago
Samy Al Bahra c4149c72b4 ck_ring: Use regular assignment in type specialized ck_ring initialization.
12 years ago
Samy Al Bahra 89cb712ffa ck_ring: Memoize mask across all operations.
12 years ago
Samy Al Bahra 8519aaf771 ck_ring: Memoize mask for SPMC operations.
12 years ago
Samy Al Bahra b54ae5c4ac ck_ring: Add a work-around for compiler bug(s) in ck_ring_dequeue_spmc.
12 years ago
Samy Al Bahra 0631e396e0 ck_backoff: Replace ck_backoff_eb with ck_backoff_gb.
12 years ago
Samy Al Bahra b37ce19976 ck_pr/x86_64: GCC will attempt immediate expansion on double.
12 years ago
Samy Al Bahra 0c56b1b8c6 ck_epoch: Remember to mark entry availability on unregister.
12 years ago
Samy Al Bahra 93684f77c1 ck_pr: Use CK_CC_INLINE instead of inline keyword for ck_pr_barrier.
12 years ago
Samy Al Bahra de0597d2aa ck_bitmap: Add comment for ck_bitmap_size.
12 years ago
Samy Al Bahra 849f938973 ck_ring: Add parameterized version of ck_ring_trydequeue.
12 years ago
Samy Al Bahra 7a99585f9e ck_ring: No need for volatile load on dequeue_spmc.
12 years ago
Samy Al Bahra 01dc51db65 ck_ring: Add trydequeue variant.
12 years ago
Samy Al Bahra ca8be0858c ck_pr: Re-include port selection logic.
12 years ago
Samy Al Bahra 1c7b8811c8 ck_pr/gcc: Remove useless assignment from volatile load.
12 years ago
Samy Al Bahra a9ed19303f ck_pr/gcc: Adopt const semantics for load/store in GCC port.
12 years ago
Samy Al Bahra 6de54d6aa5 ck_pr/x86_64: Use correct target for load_64_2.
12 years ago
Samy Al Bahra 12da4128ff ck_pr: Adopt const qualifer for load/store.
12 years ago
Samy Al Bahra 055a7fd5db ck_ring: Add wrapper functions for parameterized SPMC ring.
12 years ago
Samy Al Bahra 68b33e56d8 ck_ring: Add parameterized version of SPMC ring.
12 years ago
Samy Al Bahra 7f35cbee1b ck_ring: Use SPSC enqueue as SPMC enqueue.
12 years ago
Samy Al Bahra 5d1d850f44 ck_ring: Adopt semantics identical to spmc counter semantics.
12 years ago
Samy Al Bahra 77a3bd3126 ck_ring: Move overflow check to producer side.
12 years ago
Samy Al Bahra d595bafea7 ck_ring: Serialize producer snapshot with respect to consumer.
12 years ago
Samy Al Bahra d705e02b76 ck_ring: Replace MPMC variant with SPMC variant for starters.
12 years ago
Samy Al Bahra bb48f602ff ck_ring: Add note regarding correctness so people don't both verifying it.
12 years ago
Samy Al Bahra 68e6752e53 ck_ring: Due to popular request, add MPMC variants of enqueue/dequeue.
12 years ago
Samy Al Bahra 957e4aec5d ck_brlock: Fix typo.
12 years ago
Samy Al Bahra b631e3aa23 ck_brlock: Enable FAS serialization only on x86.
12 years ago
Samy Al Bahra 2bdc231288 ck_brlock: Serialize on atomic operation on read acquisition.
12 years ago
Samy Al Bahra cb1c72d36b ck_queue: Add CK_?LIST_MOVE operation.
12 years ago
Samy Al Bahra 5df8882840 ck_bytelock: Switch to full semantics on unlock.
12 years ago
Samy Al Bahra a06f28b77c ck_ring: Remove useless comment.
12 years ago
Samy Al Bahra f3111b006b ck_fifo: SPSC FIFO dequeue only requires load depends barrier.
12 years ago
Samy Al Bahra bf30d3439c ck_rwlock: Remove unncessary load fences, switch to full semantics on read unlock.
12 years ago
Samy Al Bahra 65ebf86799 ck_spinlock: Switch to full semantics across all implementations.
12 years ago
Samy Al Bahra e40521d1aa ck_pr/ppc64: Switch to RMO model for atomic operations.
12 years ago
Samy Al Bahra 6be03bb450 ck_bytelock: Remove unnecessary load barrier on unslotted read acquisition.
12 years ago
Samy Al Bahra 52ca64b2b7 ck_pr/sparcv9: MemIssue is overly heavyweight.
12 years ago
Samy Al Bahra 3f217c9789 ck_pr: Fallback to RMO for PSO for this release.
12 years ago
Samy Al Bahra a1dc38f20e build/ck_pr: Add configurable memory models.
12 years ago
Samy Al Bahra fedc2f6e47 ck_pr/sparcv9: Assume TSO by default.
12 years ago
Samy Al Bahra 690782aa67 ck_hs: Add hash function wrapper to maintain opacity of ck_hs_t.
12 years ago
Samy Al Bahra f2dfd828c3 Merge pull request #7 from abelmathew/master
12 years ago
Samy Al Bahra ece2895e9e ck_hs: Drop ck_hs_hash_t abstraction.
12 years ago
Abel Mathew 00d0320767 ck_bag: Fix usage of CK_MD_VMA_BITS.
12 years ago
Samy Al Bahra adaf20b31c ck_ht: Add ck_ht_stat function.
12 years ago
Samy Al Bahra 0f5e540afa ck_hs: Lock-free set loosely modeled after ck_ht.
12 years ago
Abel Mathew ec02b2f356 ck_bag: USE CK_BAG_KEY_LENGTH
12 years ago
Abel Mathew 9ff3c2d017 Merge remote-tracking branch 'upstream/master'
12 years ago
Abel Mathew 981e0a49a2 ck_bag: Use CK_MD_VMA_BITS
12 years ago
Samy Al Bahra 1d1e433dc4 ck_ht: Set unsigned key length.
12 years ago
Samy Al Bahra ec0d212c04 ck_ht: Set artificial key length limit if pointer packing is disabled.
12 years ago
Samy Al Bahra 90713046e9 ck_ht: Use CK_MD_VMA_BITS.
12 years ago
Samy Al Bahra 7a04c368ff build: Add VMA bits detection for Mac OS X and Linux on x86*.
12 years ago
Samy Al Bahra c45098b21b ck_epoch: Emit fence instructions for TSO, do not emit for recursive calls.
12 years ago
Samy Al Bahra a5fb24ab61 ck_ht: Hard-code ck_ht_entry alignment.
12 years ago
Samy Al Bahra f6a675ab00 ck_cc: Add no-op macros in case of unsupported compiler.
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 955047a7d1 ck_{ring,fifo}: Add store fences while we lack load_store fences.
12 years ago
Samy Al Bahra e78bbe9ae6 ck_{rw,byte,br}lock: Serialize final loads with respect to read.
12 years ago
Samy Al Bahra 1d61147c01 ck_spinlock/mcs: Remove unnecessary fences, serialize unload.
12 years ago
Samy Al Bahra 79e336cfbc ck_spinlock: Clarify ticket spinlock code.
12 years ago
Samy Al Bahra 27ed5f78fe ck_spinlock: Remove unnecessary fence in DEC-based spinlock.
12 years ago
Samy Al Bahra a7c4b9df65 ck_spinlock: Adopt RMO for anderson spinlock.
12 years ago
Samy Al Bahra ce4cdd45c8 ck_spinlock: Adopt RMO semantics for CLH.
12 years ago
Samy Al Bahra d72ca391f6 ck_bytelock: Switch to RMO model.
12 years ago
Samy Al Bahra 180b5e0386 ck_brlock: Serialize brlock operations for RMO.
12 years ago
Samy Al Bahra 45f310893c ck_rwlock: Fix behavior for weakly-ordered systems.
12 years ago
Samy Al Bahra 8043f52130 ck_pr: Add ck_pr_barrier for compiler barrier.
12 years ago
Samy Al Bahra 1e8fe57028 ck_bitmap: Remove unnecessary whitespace.
12 years ago
Samy Al Bahra bc19dccb1f ck_cc: Add CK_CC_BARRIER for compiler barrier.
12 years ago
Samy Al Bahra b1b19c1f74 ck_ring: Memory fence is overly pedantic for parameterized enqueue.
12 years ago
Samy Al Bahra 753f95fb45 Merge branch 'master' of git.concurrencykit.org:ck
12 years ago
Samy Al Bahra 94698736c1 ck_queue: Add appropriate load fences.
12 years ago
Samy Al Bahra 7530ca21b7 ck_fifo: Do not forget about node recycling.
12 years ago
Samy Al Bahra 2d2b49a313 ck_stack: Assume weak ordering of CAS.
12 years ago
Samy Al Bahra a7f51fffca ck_hp_fifo: Serialize second CAS.
12 years ago
Samy Al Bahra ccbf28f0cb ck_fifo: Remove unused variables, serialize MPMC insertion.
12 years ago
Samy Al Bahra 78f00eeeb6 ck_fifo_spsc: Fix implementation.
12 years ago
Samy Al Bahra 80c56d115b ck_ring: Do not use volatile load for parametric ck_ring_size.
12 years ago
Samy Al Bahra ad5e143bd5 ck_ring: Various improvements to readability.
12 years ago
Samy Al Bahra fbb88a519c ck_bytelock: read_lock must serialize all load/store before checking owner field.
12 years ago
Samy Al Bahra 3afa6b2b39 ck_ht: Let users define their own empty and tombstone values.
12 years ago
Samy Al Bahra 94c26494a6 ck_ring: Size is no longer necessary.
12 years ago
Samy Al Bahra 7657df25a8 ck_sequence: Serialize read_begin, add load barrier.
12 years ago
Samy Al Bahra 031d950cc0 ck_stack: Add aliased attribute to ck_stack for GCC 4.4.
13 years ago
Samy Al Bahra 65cf506af9 ck_cc: Add CK_CC_ALIASED attribute.
13 years ago
Samy Al Bahra 7dd705c86f ck_ht: Remove ck_ht_allocator_set declaration.
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 ccb1fd6d86 ck_fifo: Add some load fences for SPARC/PPC.
13 years ago
Samy Al Bahra 7d6626131d ck_hp_fifo: Forgot load fence in last commit.
13 years ago
Samy Al Bahra 319872ca8c ck_hp_fifo: Fix race condition on dequeue.
13 years ago
Samy Al Bahra 72a8adb599 ck_ht: Add support for per-hash-table allocator.
13 years ago
Samy Al Bahra 314ce3ad81 ck_rwlock: Drop factor argument to trylock API.
13 years ago
Samy Al Bahra 512bbc050b ck_rwlock: Add recursive trylock operations.
13 years ago
Samy Al Bahra 380dd410c6 ck_backoff: Saturate geometric back-off.
13 years ago