Subject: CVS commit: pkgsrc/devel/concurrencykit
From: Thomas Klausner
Date: 2022-07-25 21:47:45
Message id: 20220725194745.4E834FB1A@cvs.NetBSD.org

Log Message:
ck: update to 0.6.0.

XXX: PKGNAME != directory name

Concurrency Kit 0.6.0 has been released. This release contains a
critical bug fix to ck_epoch idle early exit (all users of ck_epoch
are recommended to upgrade), support for AArch64 (including LSE),
cygwin support, improved GCC back-end support and more.

aarch64: Thanks to Olivier Houchard for adding intial support for
AArch64. Thanks to Alexey Kopytov akopytov@gmail... for adding
support for LSE, enabled by passing --enable-lse to configure.

ck_epoch: The core algorithm (including lock-free improvements) is
not affected by this change. An optimization was introduced a while
ago to allow synchronize to succeed on an idle system. Unfortunately,
this optimization was incorrect. The fix is highly targeted. ck_epoch
will only short-circuit if all threads are seen as idle for a given
epoch. This could be improved further to track idle threads across
epochs but would require more substantive validation. Essentially,
we would want to eliminate threads observed as idle from the scan
step. We may revisit this in a future release if benchmarks identify
it as a worthy optimization for real-world systems. Thanks to Julie
Zhao julie.zhao@sparkpost... for reporting the problem and helping
me investigate (issue is not reproducible on our current fleet).

ck_pr/gcc: Olivier cleaned-up the GCC back-end so it doesn't generate
warnings re:constness. This port is meant to be used in cases where
a first-class ck_pr implementation is not available.

cygwin: Thanks to Harry Bowden hbowden@digitalriver... for adding
cygwin support.

documentation: Minor fixes / improvements to the documentation.

Thanks to all contributors of this release.

Files:
RevisionActionfile
1.6modifypkgsrc/devel/concurrencykit/Makefile
1.5modifypkgsrc/devel/concurrencykit/PLIST
1.7modifypkgsrc/devel/concurrencykit/distinfo