Commit Graph

162 Commits (a90b402c0cc201609aa6d3ac83cb0469489c64ee)

Author SHA1 Message Date
Samy Al Bahra 674e69f259 ck_queue: Add BSD-derived queue.h facility.
13 years ago
Samy Al Bahra f5f5074b70 ck_pr: Cast down to void pointer for cmpxchg16b wrapper.
13 years ago
Samy Al Bahra eae4a518a8 ck_epoch: Differentiate read/write epoch endings.
13 years ago
Samy Al Bahra 17f69d6c0d ck_md: Parenthesize CK_MD_CACHELINE.
13 years ago
David Joseph 0123c454f4 ck_pr: Add support for atomic ops for doubles.
13 years ago
Samy Al Bahra 1cefea7eb6 ck_spinlock: Provide a default implementation.
13 years ago
Samy Al Bahra 50f6f6ee02 ck_rwlock: Add ck_rwlock_write_downgrade.
13 years ago
Samy Al Bahra 0231b68a8b ck_spinlock: Add ck_spinlock_*_locked.
13 years ago
Samy Al Bahra e8a96f4fb8 ck_pr: Add ck_pr_fas_double for {ppc,x86_}64 and ck_pr_cas_double{_2} for x86_64.
13 years ago
Samy Al Bahra 5e7adf5983 ck_pr: Add respective feature flags for ck_pr_load/store_double.
13 years ago
William Irwin 41ef93744a ck_pr: Add ck_pr_load_double()/ck_pr_store_double() in case volatile loads and stores of floating point values are needed.
13 years ago
Samy Al Bahra 851aaf8dd6 ck_brlock: Allow for recursive reader lock.
13 years ago
Samy Al Bahra c03dd7a45c ck_epoch: Update peak value on retire.
13 years ago
Samy Al Bahra cc4b83793f ck_epoch: Flip arguments, specify epoch_entry before destructor.
13 years ago
Samy Al Bahra 79c7e453ec ck_epoch: Specify destructor in ck_epoch_retire.
13 years ago
Samy Al Bahra 10ffb2e6f1 ck_epoch: Support per-object destructors.
13 years ago
Samy Al Bahra 0f48b6fe7a ck_proxy: Add support for recursive epoch sections.
13 years ago
Samy Al Bahra b5755888fc ck_rwlock: Add trylock variants with user-defined spin factor.
13 years ago
Samy Al Bahra 9feb93758f ck_brlock: Add trylock variants with user-defined spin factor.
13 years ago
Samy Al Bahra 8b0e83e6ab ck_brlock: No need for explicit pipeline stall if writer is active.
13 years ago
Samy Al Bahra 4e7c6ee270 Add full barrier for anderson spinlock.
13 years ago
Samy Al Bahra 5889498c16 ck_ring: Add modulo logic to ck_ring_size and CK_RING_SIZE.
14 years ago
Samy Al Bahra d3f0a634ab ck_fifo: Add a mechanism to extract the spare node from the SPSC FIFO.
14 years ago
Samy Al Bahra 6b627d9aad ck_fifo: Add trylock interface to dequeue.
14 years ago
Samy Al Bahra 5b37b97f7e ck_fifo: Add fifo trylock variant.
14 years ago
Samy Al Bahra 76411d5d63 ck_fifo: Add volatile variation of ISEMPTY, isempty.
14 years ago
Samy Al Bahra c7a12c7ac2 ck_fifo: Add a simple spinlock interface for ck_fifo_spsc.
14 years ago
Samy Al Bahra 16c86b98e5 ck_rwlock: Add publish semantics for rwlock.
14 years ago
Samy Al Bahra 88ee328b78 ck_ring: Add CK_RING_SIZE/CAPACITY and ck_ring_size/capacity.
14 years ago
Samy Al Bahra 006f58edcb ck_rwlock: Add a naive rw spinlock after many requests.
14 years ago
Samy Al Bahra 786efb9594 ck_brlock: Add big reader spinlocks.
14 years ago
Samy Al Bahra 631d5f93f4 ck_pr/sparcv9: Recent SPARCs actually implement RSO.
14 years ago
sbahra 49a2820000 Added support for Sun Studio 12 C compiler.
14 years ago
Samy Al Bahra 38c614222a ck_spinlock: Avoid modulus on unlock for power of 2 count.
14 years ago
Samy Al Bahra 69e5c56acb Merge branch 'master' of git.concurrencykit.org:ck
14 years ago
Samy Al Bahra f6a2cb1b39 ck_pr/x86_32: Drop 64-bit operations. We just don't care enough about these right now.
14 years ago
Samy Al Bahra d761291ab1 ck_pr: Alphabetically order includes.
14 years ago
Samy Al Bahra 3f87223d21 ck_epoch: Collect from previous instance of epoch. Add torture test.
14 years ago
Samy Al Bahra 13dd1a4f82 ck_epoch: Update reader-side.
14 years ago
Samy Al Bahra 70860736f6 ck_epoch: Update epoch on read.
14 years ago
Samy Al Bahra cbe38a9999 ck_epoch: Remove whitespace.
14 years ago
Samy Al Bahra 20fb7a9200 ck_hp: Match epoch semantics.
14 years ago
Samy Al Bahra a72e86e0ba ck_epoch: Follow-up to previous commit.
14 years ago
Samy Al Bahra 83f1436f84 ck_epoch: Redesigned and improved unit test and observability.
14 years ago
Samy Al Bahra 492faed9a3 Reformatting changes for my new laptop.
14 years ago
Samy Al Bahra ba11d1e579 ck_sequence: Match up types. Do not use current.
14 years ago
Samy Al Bahra db9e07625a ck_hp_fifo: Don't back-off when forwarding pointer.
14 years ago
Samy Al Bahra ad4b577200 ck_hp_fifo: Store correct value in pointer.
14 years ago
Samy Al Bahra 8c708da8e8 ck_epoch: Use volatile store when updating local epoch.
14 years ago
Samy Al Bahra 7bd5259505 ck_fifo: MPMC variant will return "garbage" pointer which user can re-use.
14 years ago
Samy Al Bahra 158e1580f5 ck_hp_fifo: Fix broken build.
14 years ago
Samy Al Bahra 5180a6fb36 ck_hp_fifo: Add more fences. Add backoff.
14 years ago
Samy Al Bahra beafb7d78e ck_fifo: Add back-off and remove recycle.
14 years ago
Samy Al Bahra d7d1dfbf50 ck_hp: Remove barrier from set and allow user to batch.
14 years ago
Samy Al Bahra dffbb4b48f ck_hp: Add explicit store fence after setting slot.
14 years ago
Samy Al Bahra 2302155613 ck_epoch: Reference Fraser's thesis.
14 years ago
Samy Al Bahra f22bddddd5 ck_epoch: Place epoch on a separate cache line.
14 years ago
Samy Al Bahra 826d9996ac ck_epoch: Remove unnecessary header file.
14 years ago
Samy Al Bahra 7b8dfe44be ck_hp: Rename *subscribe to *register.
14 years ago
Samy Al Bahra b123ec2313 ck_epoch: Whitespace changes. Add ck_epoch_recycle.
14 years ago
Samy Al Bahra 875d070814 ck_epoch: Remove debug output, update comments.
14 years ago
Samy Al Bahra 386f3647cb x86_64: Remove workaround for Opteron errata, other minor clean-up.
14 years ago
Samy Al Bahra b882517d5e PPC64: Complete port, add binary write-only operations.
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 25f1fde7fa PPC64: Add fetch-and-add.
14 years ago
Samy Al Bahra f48a0c2480 PPC64: Add unary operations.
14 years ago
Samy Al Bahra cf4ee8c7a4 Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra 5f2f69eebb Work-around strict aliasing issue.
14 years ago
David Joseph dff69e639d Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
David Joseph 64f6702a4c Implemented tournament and mcs barriers.
14 years ago
Samy Al Bahra 24abb2a3ac Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra 90fee0d839 PPC64: Import minimal PPC64 port.
14 years ago
Samy Al Bahra a29a1c2a8c sparcv9: Whitespace change.
14 years ago
Samy Al Bahra 133e936744 sparcv9: Make use of CK_PR_FENCE macro.
14 years ago
Samy Al Bahra e1d33c467b ck_pr: Fix some strict aliasing issues and fix char neg.
14 years ago
David Joseph 480db1321c Implemented dissemination barriers.
14 years ago
Devon H. O'Dell e5a5d0e2b9 x86: Remove invalid comment about fixed bug.
14 years ago
Devon H. O'Dell ace2b787f5 x86: Implement ck_pr_load_32_2 in terms of movq
14 years ago
Samy Al Bahra ad85634188 Enable x86_32 port.
14 years ago
Devon H. O'Dell ccf002223c x86: fix btX functions
14 years ago
Devon H. O'Dell 0c8c054c0a x86: More PIC happiness
14 years ago
Samy Al Bahra 7c8ab13343 Some fixes for strict aliasing. Silence some warnings from clang.
14 years ago
Devon H. O'Dell 114e9c8ed5 x86: Fix typo missed in last merge somehow
14 years ago
Samy Al Bahra 5900adb424 Move ck_barrier.h into shared/static object. Add CK_CC_CACHELINE.
14 years ago
David Joseph 9ab7b7ae42 Fixed a bug with ck_barrier_combining_aux.
14 years ago
David Joseph 615e3ca47f Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
David Joseph 5e7073b9b7 Software tree combining barrier now supports an arbitrary number of threads per group.
14 years ago
Samy Al Bahra a462c89787 ck_sequence: Remove unnecessary load fence from seqlock.
14 years ago
Samy Al Bahra 3b63432d03 Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Samy Al Bahra 09bfb13762 ck_barrier: Minor changes, reorganization.
14 years ago
Devon H. O'Dell 22142de58f Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
Devon H. O'Dell 18e1c646fa x86: Fix buglets
14 years ago
David Joseph ba3c908fc5 Merge branch 'master' of ssh://git.repnop.org/public/ck
14 years ago
David Joseph 8c24a60866 Implemented ck_barrier_combining.
14 years ago
Devon H. O'Dell 000eb80099 x86: Make things friendlier for PIC and non-PIC builds
14 years ago
Devon H. O'Dell 8818191ec0 x86: additional changes for support on 32-bit archs
14 years ago
Samy Al Bahra 66ebe1a874 Drop usage of CK_CC_PACKED, prefer natural alignment.
14 years ago
Samy Al Bahra b5680c42d8 Add sense-reversing centralized barrier.
14 years ago
Samy Al Bahra d3a033237a Avoid modulus for wrap-around calculation in ck_anderson.
14 years ago