All releases of Concurrency Kit


Release Notes: This release includes MingW64 support, SPMC CK_STAILQ with wait-free read-side traversal, and migration of ck_hp to use strict fence semantics when setting hazard pointers. ck_pr and ck_ring documentation has been added in the form of manual pages (which are also available on the Web site).


Release Notes: It is recommended that users of ck_fifo_mpmc who recycle nodes with the help of a freelist upgrade to this version. Partial support for MingW32 has been added, with MingW64 support coming up next. A phase-fair read-write lock reference implementation has been provided, as well as a generalized CK_COHORT interface for implementing lock cohorts with arbitrary lock combinations (which satisfy requirements of cohort locks). New ck_ring functionality has been added which allows atomic ring size fetch and enqueue semantics.


Release Notes: It is recommended that users of ck_ht and ck_hs upgrade to this release for significant performance enhancements. It is recommended that users on RMO or PSO architectures (--memory-model=rmo or on PPC*) upgrade if they rely on ck_rwlock or ck_bytelock. This release includes significant enhancements to the PPC32 port.


Release Notes: This release includes a bugfix to ck_bytelock.h and a bugfix to ck_queue.h. The ck_bytelock bug affects users who downgrade a write acquisition to a read-side acquisition. The ck_queue bug affects users who are using CK_LIST_INSERT_HEAD followed by CK_LIST_REMOVE to non-head elements. This execution sequence causes incorrect removal of nodes. This release also includes improved unit test coverage to x86-32.


Release Notes: This release includes a bugfix to ck_ring_dequeue_spmc for users of versions of GCC greater than 4.2X and users of LLVM-backed compilers, a bugfix to ck_pr_store_double for x86_64 when dealing with constant arguments (caused compilation failures), and rips out ck_backoff_eb.


Release Notes: This release includes trydequeue functionality for ck_ring and bugfixes to ck_epoch for systems which dynamically register and unregister threads to and from an epoch object.


Release Notes: This release includes significant performance improvements to the PPC64 port, strict semantics for reader-writer mutexes, a single-producer/multi-consumer ck_ring implementation, performance improvements made to ck_brlock (8-20% reduction in latency depending on platform), _MOVE operations added to ck_queue.h, and merging of patches for const-ified load and an extension for ck_pr_store.


Release Notes: This release includes build system improvements, various manual page improvements and fixes, and a lock-free hash set for SPMC belonging to the "ck_hs" namespace. The default memory model for SPARCv9 has been changed to total store ordering. The default memory models may be changed via the --memory-model configure option. In addition to this, a --vma-bits option has been added, which allows you to leverage pointer packing on architectures that have a VMA space that is smaller than that of pointer range. This can also be used to prepare yourself for Haswell.


Release Notes: This release adds minor fixes for ck_ring and ck_fifo_spsc for RMO, drastic improvements to the ck_epoch implementation and programming interface, and documentation for ck_bag and the new ck_epoch interface in the form of manual pages.


Release Notes: This release includes an overhaul of ck_barrier, ck_spinlock, ck_bytelock, ck_brlock, ck_hp, ck_epoch, ck_rwlock, ck_ring, ck_fifo, and ck_queue for RMO architectures. All users are advised to upgrade. If you are a user of ck_fifo_spsc or ck_bytelock, even on TSO architectures, upgrading is also recommended, due to bugfixes. Some users may see slight performance improvements, and some may see slight performance degradation (primarily with byte lock).
A DVD ripping, DVD creation, Web video downloader, and video conversion tool.