Commit Graph

327 Commits (d0745f51ee9b347f55660277704669466afd2b03)

Author SHA1 Message Date
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.
13 years ago