Commit Graph

668 Commits (master)

Author SHA1 Message Date
David Joseph 1d7057eb58 ck_bitmap: add a ck_bitmap_bts function.
10 years ago
Marcin Juszkiewicz de0e582eba Add ck_pr_fence_acquire/release to generic GCC version
10 years ago
Samy Al Bahra b45f94a611 Merge branch 'master' of github.com:sbahra/ck
11 years ago
Bruce Spang a514e81209 Fix typo in ck_rhs.h
11 years ago
Samy Al Bahra be11635b12 ck_bitmap: Consistent Copyright.
11 years ago
Samy Al Bahra cd17fed7dc ck_pflock: Migrate to acquire / release fences.
11 years ago
Samy Al Bahra 6b2f5130f7 ck_swlock: Whitespace changes.
11 years ago
Jaidev Sridhar 11f79b64f7 ck_swlock: cleanup
11 years ago
Jaidev Sridhar d95c609090 Merge remote-tracking branch 'upstream/swlock' into ck_swlock
11 years ago
Jaidev Sridhar b70a5479ca ck_swlock: snapshot
11 years ago
Samy Al Bahra 217f7a2f32 ck_swlock: Load spin on write bit.
11 years ago
Samy Al Bahra 4d7f4fff6d ck_swlock: Fix latch operation.
11 years ago
Samy Al Bahra bbad068f5a ck_swlock: Make latch operation write-biased.
11 years ago
Samy Al Bahra e2f7df0f1d ck_swlock: Various improvements.
11 years ago
Samy Al Bahra 66aee95dd1 Merge branch 'ck_swlock' of github.com:skjaidev/ck into swlock
11 years ago
Jaidev Sridhar c246865ce7 ck_swlock: Removed comment
11 years ago
Jaidev Sridhar 4471ea2df8 ck_swlock: Acquire semantics
11 years ago
Jaidev Sridhar e6feed1f89 ck_swlock: Rename lock field
11 years ago
Jaidev Sridhar 0f44d50e33 ck_swlock: Use single word for lock bits
11 years ago
Samy Al Bahra 411afc3c47 *lock: Simplify initialization semantics.
11 years ago
Samy Al Bahra f3539396c2 *lock: Simply use compiler barrier on initialization.
11 years ago
Samy Al Bahra b24a9af88a ck_pflock: Migrate initializer to use compiler barrier.
11 years ago
Samy Al Bahra 722f526a0e ck_tflock: Remove extraneous newline.
11 years ago
Samy Al Bahra 46042c7996 tflock: Task-fair reader-writer locks reference implementation.
11 years ago
Jaidev Sridhar 9ee4334e10 Merge remote-tracking branch 'upstream/master' into ck_swlock
11 years ago
Jaidev Sridhar 15a0485c01 ck_swlock: make ck_swlock_recursive_write_unlatch() wait-free.
11 years ago
Samy Al Bahra ca70ce684c ck_swlock: Unlatch operation should be wait-free.
11 years ago
Jaidev Sridhar 27a79623a6 ck_swlock: Need to lock cache-line on write lock
11 years ago
Jaidev Sridhar 0ee31c1557 ck_swlock: Need barrier
11 years ago
Jaidev Sridhar bf8779ab13 ck_swlock: Decrement n_readers in TATAS style loop.
11 years ago
Jaidev Sridhar 8646990847 Merge remote-tracking branch 'jsridhar-dev/ck_swlock' into ck_swlock
11 years ago
Jaidev Sridhar 1f03809acb ck_swlock: We shouldn't decrement n_readers when
11 years ago
Paul Khuong f06a5c4a71 ck_bitmap: more bulk operations, less space, more tests
11 years ago
Paul Khuong 96fdf1efbd ck_cc: new bitwise ops
11 years ago
Samy Al Bahra bfc9837d4f ck_swlock: Whitespace change.
11 years ago
Samy Al Bahra 63b79c7b1e ck_swlock: Fix Copyright ordering.
11 years ago
Samy Al Bahra 6fe2bba224 ck_swlock: Fix-up TATAS loop.
11 years ago
Samy Al Bahra a1daff18ea ck_swlock: Switch to TATAS style loop for latch operations.
11 years ago
Samy Al Bahra 82f33b3fe9 ck_swlock: First round fixes for ck_swlock.
11 years ago
Jaidev Sridhar 9732e2bdb3 ck_swlock: A single writer rwlock.
11 years ago
Samy Al Bahra 176dfce5c3 ck_rwlock: Fix conflict.
11 years ago
Samy Al Bahra e2913ab9c0 Revert "ck_rwlock: Migrate to 32-bit primitives and add a write_latch operation."
11 years ago
Samy Al Bahra 6ccfb84d81 Revert "ck_rwlock: Use sub for unlatch operation."
11 years ago
Samy Al Bahra ed476a617c Revert "ck_rwlock: Clear reader bits on unlatch operation."
11 years ago
Samy Al Bahra cdfac8213f Revert "ck_rwlock: Re-observe latch bits if necessary."
11 years ago
Samy Al Bahra 88d323f40d Revert "ck_rwlock: Acquire semantics for ordering on latch bits."
11 years ago
Samy Al Bahra 9ebd19a124 Revert "ck_rwlock: Add ck_rwlock_read_latchlock operation."
11 years ago
Samy Al Bahra cf097db790 Revert "ck_rwlock: Ignore latch bits on write lock operation."
11 years ago
Samy Al Bahra e2bd885953 Revert "ck_rwlock: Re-organization of write-side operations and latch support for write_trylock."
11 years ago
Samy Al Bahra 9aad0125af Revert "ck_rwlock: Additional re-organization of write-side functions."
11 years ago
Samy Al Bahra d3a7adaf8c Revert "ck_rwlock: Additional reorganization."
11 years ago
Samy Al Bahra 2a701163eb ck_rwlock: Ditch ck_rwlock latch for ck_swlock.
11 years ago
Samy Al Bahra 56de32fffd ck_rwlock: Additional reorganization.
11 years ago
Samy Al Bahra d9b86d2d89 ck_rwlock: Additional re-organization of write-side functions.
11 years ago
Samy Al Bahra ab22fda4e7 ck_rwlock: Re-organization of write-side operations and latch support for write_trylock.
11 years ago
Samy Al Bahra 8173b937bf ck_rwlock: Ignore latch bits on write lock operation.
11 years ago
Samy Al Bahra bc7ebc62eb ck_rwlock: Add ck_rwlock_read_latchlock operation.
11 years ago
Samy Al Bahra 2b567320de ck_rwlock: Acquire semantics for ordering on latch bits.
11 years ago
Samy Al Bahra fa28622386 ck_rwlock: Re-observe latch bits if necessary.
11 years ago
Samy Al Bahra 7f945460bc ck_rwlock: Clear reader bits on unlatch operation.
11 years ago
Samy Al Bahra b7c3c8a43d ck_rwlock: Use sub for unlatch operation.
11 years ago
Samy Al Bahra 3cae483bce Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra 210b724061 ck_rwlock: Migrate to 32-bit primitives and add a write_latch operation.
11 years ago
Samy Al Bahra f8b41af77c x86_64: Require 32-bit immediate values for expansion.
11 years ago
Samy Al Bahra cefd6bc9ec ck_ring: Remove stale comment from pre-memcpy implementation.
11 years ago
Samy Al Bahra 396ceb16bb ck_ring: Fix typo in type-specialized ck_ring_dequeue_tryspmc.
11 years ago
Samy Al Bahra 6e0f79c70e ck_tflock: Initial check-in of reference implementation.
11 years ago
Samy Al Bahra 671d067ea0 ck_bytelock: Fix casting error affecting 32-bit architectures.
11 years ago
Samy Al Bahra 81f267ce62 Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra b97b0021f9 ck_barrier: Just pass-through tournament barrier with only one participating thread.
11 years ago
Samy Al Bahra 15ce0501d2 ck_sequence: Add branch hint for short-circuit.
11 years ago
Samy Al Bahra cb8f5f9ebb ck_hp_fifo: Add deinit routine to allow reclaiming stub node.
11 years ago
Samy Al Bahra c75e470ed4 ck_fifo_spsc: De-initialize from head.
11 years ago
Samy Al Bahra 06feae82f3 ck_hp_fifo: No need for volatile atomic stores on initialization.
11 years ago
Samy Al Bahra 5ec8191ded ck_fifo: Add ck_fifo_*_deinit routines.
11 years ago
Samy Al Bahra 15ac0bc691 ck_bitmap: Fix length calculation error in ck_bitmap_union (crasher).
11 years ago
Samy Al Bahra 08be876fa6 ck_bytelock: Correctly compute byte sequence length for readers.
11 years ago
Samy Al Bahra 190b204059 ck_bitmap: Drop _mpmc suffix and add union operation.
11 years ago
Samy Al Bahra 76e43825a7 Merge remote-tracking branch 'origin/cognet'
11 years ago
Samy Al Bahra b8c801136a ck_bytelock: Fix deadlock for unslotted reader workloads.
11 years ago
User Doginou 59cedf10c6 ck_rhs: Add a read mostly mode.
11 years ago
Olivier Houchard bf686c0a42 ck_rhs: Add.
11 years ago
Samy Al Bahra c197b37df1 legal: Update Copyright statements.
11 years ago
Samy Al Bahra 0c4ed1d14f ck_pflock: Use store barrier on init.
11 years ago
Samy Al Bahra 0353cdcb23 ck_rwlock: Migrate to acquire / release and other barrier improvements.
11 years ago
Samy Al Bahra 38c40315a2 ck_brlock: Use store barrier on initialization.
11 years ago
Samy Al Bahra ac8397d8b5 ck_rwcohort: Migrate to acquire / release.
11 years ago
Samy Al Bahra 5280253974 ck_pflock: Use precise barrier in read_unlock.
11 years ago
Samy Al Bahra febdb8c164 ck_brlock: Use precise barrier for read_unlock.
11 years ago
Samy Al Bahra 0c205740aa ck_pflock: Migrate to acquire / release.
11 years ago
Samy Al Bahra ad5e00cfb9 ck_epoch: Read-side latency improvements on x86.
11 years ago
Samy Al Bahra cad7b53273 ck_epoch: Migrate to acquire / release.
11 years ago
Samy Al Bahra e8051b79c2 ck_elide: Add comment indicating purposeful omission of barriers.
11 years ago
Samy Al Bahra 16f7568e5c ck_cohort: Migrate to acquire / release.
11 years ago
Samy Al Bahra 44689f7e69 ck_bytelock: Migrate to acquire / release.
11 years ago
Samy Al Bahra f314b52035 ck_brlock: Migrate to acquire/release.
11 years ago
Samy Al Bahra 0bbb6f0eff ck_pr: Fix typo in preprocessor usage.
11 years ago
Samy Al Bahra e57bfd5865 spinlock: Migrate to acquire / release interface.
11 years ago
Samy Al Bahra 661f3948ed ck_pr: Add acquire and release fences.
11 years ago
Samy Al Bahra 057f719796 ck_ring: Add type-specialized ring.
11 years ago
Samy Al Bahra 90c9950356 ck_ring: Type-agnostic backend implementation.
11 years ago
Samy Al Bahra 4af7571990 ck_pr/arm: Remove extraneous newline.
11 years ago
Olivier Houchard 259fb5174d ck_pr: Use the "dmb st" instruction on arm when available.
11 years ago
Samy Al Bahra b32e1b24df ck_spinlock: Use more finely-grained barrier for CLH.
11 years ago
Samy Al Bahra eb59f6ead5 ck_ht: Add CK_HT_WORKLOAD_DELETE flag.
11 years ago
Olivier Houchard b17706f967 hclh: Assert my copyright.
11 years ago
Samy Al Bahra df571ad331 ck_spinlock: Migrate lock implementations to directory.
11 years ago
Samy Al Bahra 1ecb37b28f Merge branch 'cognet' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra b6a1914085 ck_ring: Prefer treatment of ck_ring_buffer_t as an opaque type.
11 years ago
Samy Al Bahra b6f085a62e ck_ring: Minor style change.
11 years ago
Samy Al Bahra e6c0ef01a5 ck_spinlock: Revert previous change, do not splice too early.
11 years ago
Samy Al Bahra e8b26ec212 ck_spinlock: Minor readability changes to ck_hclh.
11 years ago
Samy Al Bahra c219593967 ck_spinlock: First round of improvements to ck_hclh.
11 years ago
Samy Al Bahra 0e5ce1aae7 ck_spinlock: Simple whitespace changes (wrap long lines).
11 years ago
Olivier Houchard 0f92cbab08 ck_spinlock: Commit the missing HCLH bits.
11 years ago
Samy Al Bahra aa0c303554 ck_ht: Add ck_ht_gc functionality, similar to ck_hs_gc.
11 years ago
Olivier Houchard 3edb523da5 ck_ring: Move the ring buffer outside of the ck_ring_t
11 years ago
Samy Al Bahra b778a32b0e Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra 0d6a0508cc ck_hs: Allow for amortization and partial rebuild in ck_hs_gc.
11 years ago
Samy Al Bahra f7eff4d61b ck_hs: Add ck_hs_gc, mechanism for tombstone clean-up.
11 years ago
Samy Al Bahra 5d4f9ae23d ck_hs: Add ck_hs_rebuild operation.
11 years ago
Samy Al Bahra 2ad920cd85 ck_hs: Add improved support for delete-heavy workloads.
11 years ago
Samy Al Bahra 30d956d682 ck_hs: Re-order includes in header file.
11 years ago
Samy Al Bahra a3532d52ce ck_hs: Add ck_hs_put_unique function for fast-path unique inserts.
11 years ago
Samy Al Bahra 0610a0d0a8 ck_bag: Drop support for this data structure.
11 years ago
Samy Al Bahra 3c089d55e5 arm: Add support for cas_2 and other double-word operations.
11 years ago
Samy Al Bahra b801ec4b98 ck_array: Remove variable name from ck_array_init declaration.
11 years ago
Samy Al Bahra a7cb0f9bbb ck_array: Add ck_array_initialized functionality.
11 years ago
Samy Al Bahra 2db9de633f ck_array: Simple eliminating SPMC dense array for fast iteration.
11 years ago
Samy Al Bahra 5916485e9e ck_pr/arm: Implement support for Thumb 2 and fix incorrect CAS behavior.
11 years ago
Samy Al Bahra e1c0f6854d ck_pr/arm: Additional style clean-up.
11 years ago
Samy Al Bahra 1c97766039 ck_pr: First cut 32-bit ARM port.
11 years ago
Samy Al Bahra 1cc189b08e ck_bitmap: Remove unused argument for CK_BITMAP_BITS.
11 years ago
Samy Al Bahra 5d8a273dbe whitespace: Bulk whitespace changes.
11 years ago
Samy Al Bahra 3e5dcfe6fd ck_sequence: Add CK_SEQUENCE_READ operation.
11 years ago
Samy Al Bahra 2d4524dd3e ck_spinlock: Retab (whitespace).
11 years ago
Samy Al Bahra 07aab518f6 ck_spinlock: Retab (whitespace).
11 years ago
Samy Al Bahra ce142f17f8 ck_spinlock: Add ck_spinlock_mcs_init operation.
11 years ago
Samy Al Bahra 6bc9f7a485 ck_spinlock: Get rid of MCS context initializers.
11 years ago
Samy Al Bahra ec58f5dcf7 ck_spinlock: Add ck_spinlock_dec_init operation.
11 years ago
Samy Al Bahra 2f52ace54c ck_spinlock: Fix strict aliasing issue in unlock (no-op).
12 years ago
Samy Al Bahra 29a84b47b3 ck_hs: Add ck_hs_move operation.
12 years ago
Samy Al Bahra 5cf28b2152 ck_rwcohort: Missing fences on fast path.
12 years ago
Samy Al Bahra 73a1e42baf ck_rwcohort: Style fixes.
12 years ago
Samy Al Bahra b36e35ec76 Merge branch 'master' of https://github.com/bscheinman/ck
12 years ago
Samy Al Bahra ce2ef37ce3 ck_elide: Style fixes.
12 years ago
Samy Al Bahra cc231e4ab0 ck_elide: No need to expose ck_elide_stat.
12 years ago
Samy Al Bahra 906eaf1881 ck_elide: Fold CK_ELIDE_ADAPTIVE_PROTOTYPE into PROTOTYPE.
12 years ago
Samy Al Bahra b67e91c858 ck_rwlock: Fold CK_ELIDE_ADAPTIVE_PROTOTYPE into PROTOTYPE.
12 years ago
Samy Al Bahra 768b5b3597 ck_rwlock: Add adaptive elision and unit tests.
12 years ago
Samy Al Bahra fe8deba87d ck_elide: Adaptive elision semantics.
12 years ago
Samy Al Bahra 43f7a7692a ck_cc: Expand LIKELY/UNLIKELY on unsupport compilers.
12 years ago
Samy Al Bahra f214d9419e ck_spinlock: Move elision prototype to end of file.
12 years ago
Samy Al Bahra c76441fff3 ck_stack: Style changes.
12 years ago
Samy Al Bahra fc0bfae1da ck_elide: Commentary on ck_elide interface.
12 years ago
Samy Al Bahra 59a1b53e86 ck_spinlock: Migrate to ck_elide.h.
12 years ago
Samy Al Bahra 671f82d7a8 ck_rwlock: Migrate to ck_elide.h.
12 years ago
Samy Al Bahra 68a614328a ck_elide: General lock elision framework.
12 years ago
Samy Al Bahra 0517a51b06 ck_spinlock: Weaken volatile store in clh_lock.
12 years ago
Samy Al Bahra 64b1201dcc ck_spinlock: Acquire semantics for old locked operations.
12 years ago
Samy Al Bahra a51c8c7aa6 ck_spinlock: Add ck_spinlock_clh_locked.
12 years ago
Samy Al Bahra 46d61ccd46 ck_spinlock: Add ck_spinlock_ticket_locked.
12 years ago
Samy Al Bahra f149dd09fe ck_pr: Add ck_pr_fence_strict_atomic for x86-64.
12 years ago
Samy Al Bahra 55decd0b38 ck_spinlock: Add ck_spinlock_anderson_locked.
12 years ago
Samy Al Bahra a03d58fff2 ck_rwlock: Use heavier-weight barrier on write path.
12 years ago
Samy Al Bahra a694e871ca ck_rwlock: Relax write_trylock_rtm semantics.
12 years ago
Samy Al Bahra 3fbefc5042 ck_rwlock: Add read_trylock_rtm.
12 years ago
Samy Al Bahra 4d2ccfe497 ck_rwlock: Add basic RTM interface to rwlock.
12 years ago
Samy Al Bahra 2ed965bfc2 ck_pr_rtm: Fix xtest output clobber identifier.
12 years ago
Samy Al Bahra 43a6628cf1 ck_pr: Initial support for TSX.
12 years ago
Samy Al Bahra 04590839d9 ck_sequence: change retry to take unsigned int.
12 years ago
Brendon Scheinman cb0a7c8ce6 Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Samy Al Bahra a8a74b9f57 ck_spinlock: Remove erroneous mask usage for non-x86 targets.
12 years ago
Samy Al Bahra 045d0e1053 ck_spinlock: Apply modulo arithmetic to proportional back-off ticket lock.
12 years ago
Samy Al Bahra cd53e928bf ck_cc: Add branch execution hint support for GCC.
12 years ago
Samy Al Bahra 7da381bb1a ck_hs: Prototype for new ck_hs_fas operation.
12 years ago
Brendon Scheinman fc071e1ce2 Merge branch 'master' of https://github.com/bscheinman/ck
12 years ago
Brendon Scheinman f9ea659bff Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Samy Al Bahra 3ca7072c14 ck_pr: Implicit compiler barrier ck_pr_fence.
12 years ago
Samy Al Bahra a5e8d6ad45 ck_spinlock: Only enable trylock for ck_spinlock_ticket on x86*.
12 years ago
Samy Al Bahra adbdfe6633 ck_pr: Get rid of ck_pr_fence_X_X functions.
12 years ago
Samy Al Bahra e52fd0b405 ck_fifo: Migrate MPMC FIFO to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra 0d827b4c81 ck_hp_fifo: Finer-grained mapping to ck_pr_fence_X_Y.
12 years ago
Brendon Scheinman babae24a07 ck_rwcohort: Added missing return statements and changed while (true) loops to for (;;)
12 years ago
Brendon Scheinman 2b33d57148 ck_rwcohort: Removed extra whitespace
12 years ago
Brendon Scheinman cbfa095108 Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Samy Al Bahra 2ba3f59374 ck_spinlock: Migrate MCS to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra 8540821f3f ck_spinlock: Minor style changes to return statement.
12 years ago
Samy Al Bahra 08d13deaf4 ck_brlock: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra 214d7aed66 ck_pr: Implement ck_pr_fence_atomic in MD ck_pr.
12 years ago
Samy Al Bahra 8320a4a6f4 ck_pr: Comment elaboration on ck_pr_fence_atomic semantics.
12 years ago
Samy Al Bahra 3f06a4e23a ck_rwlock: Use ck_pr_fence_atomic.
12 years ago
Samy Al Bahra ffd22e57b8 ck_bytelock: Use ck_pr_fence_atomic.
12 years ago
Samy Al Bahra a4220f2377 ck_pr: Remove ck_pr_fence_load_depends from GCC port.
12 years ago
Samy Al Bahra d1dd6611ac ck_pr: Add ck_pr_fence_atomic interface.
12 years ago
Samy Al Bahra 8face51e0d ck_spinlock: Acquire semantics for anderson spinlock.
12 years ago
Samy Al Bahra f87e0caf99 ck_bytelock: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra 83bc7f9f54 ck_epoch: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra fe7e5ac5b1 ck_hp_stack: Migrate to ck_pr_fence_X_Y functions.
12 years ago
Samy Al Bahra 01f89ee691 ck_hp_fifo: Migrate to ck_pr_fence_X_Y functions.
12 years ago