Commit Graph

507 Commits (4d7f4fff6d7aac77f9d1c0ce6ef56b9013a6f5fa)

Author SHA1 Message Date
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.
12 years ago
Samy Al Bahra 2d4524dd3e ck_spinlock: Retab (whitespace).
12 years ago
Samy Al Bahra 07aab518f6 ck_spinlock: Retab (whitespace).
12 years ago
Samy Al Bahra ce142f17f8 ck_spinlock: Add ck_spinlock_mcs_init operation.
12 years ago
Samy Al Bahra 6bc9f7a485 ck_spinlock: Get rid of MCS context initializers.
12 years ago
Samy Al Bahra ec58f5dcf7 ck_spinlock: Add ck_spinlock_dec_init operation.
12 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
Samy Al Bahra b025722fbd ck_brlock: Migrate to ck_pr_fence_X_Y interface.
12 years ago
Samy Al Bahra 5506ad2744 ck_pr: Move ck_pr_barrier to compiler port.
12 years ago
Samy Al Bahra cc8c3fb2db ck_pr/gcc: Fix style issue.
12 years ago
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