Fri Feb 28 14:42:15 2014 UTC ()
Update to 0.4.1

release notes follow from http://concurrencykit.org/releases/
---
I am pleased to announce release 0.3.4 of Concurrency Kit. Acquire and
release fences have finally been introduced.  Significant performance
improvements were made to spinlock, rwlock, pflock, cohorts, brlocks and
bytelocks on RMO and PSO architectures (PPC*, SPARCv9+, ARM). Significant
improvements have been made to ck_hs write-side performance in the
presence of deletes. Latency improvements to ck_epoch for read-side
critical sections on x86 were introduced. Last but not least, the
parametric ck_ring has been re-introduced following discussion and
feedback.
---
I am pleased to announce release 0.3.5 of Concurrency Kit. This release
includes a critical bug fix for ck_ht_gc that affects CK_HT_MODE_DIRECT
hash tables (it does not affect bytestring hash tables). Additional
optimizations were made to ck_ht_gc and ck_hs_gc for empty hash tables.
---
I am pleased to announce release 0.4 of Concurrency Kit.
Critical bug fixes were made to ck_bytelock (thanks to Albi Kalvo)
for unslotted readers and 32-bit architectures (see below for
details). A new robin-hood hash set implementation was added by
Olivier Houchard that provides excellent stable performance
for delete and write-heavy workloads, while still providing
SPMC progress guarantees. A new operation has been added to
the bitmap, ck_bitmap_union, that provides a (non-linearized)
union of two bitmaps. Some other API changes were made to
ck_bitmap. Last but not least, the library now uses the correct
naming convention for Darwin targets.
---
I am pleased to announce release 0.4.1 of Concurrency Kit.
This fixes a calculation error in ck_bitmap_union, which
can lead to a crash condition. This was missed due to
a lack of the typical testing cycle for the function.


(mspo)
diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/Makefile
diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/PLIST
diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/distinfo

cvs diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/concurrencykit/Makefile 2014/01/12 14:59:47 1.1
+++ pkgsrc/devel/concurrencykit/Makefile 2014/02/28 14:42:15 1.2
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.1 2014/01/12 14:59:47 mspo Exp $ 1# $NetBSD: Makefile,v 1.2 2014/02/28 14:42:15 mspo Exp $
2 2
3DISTNAME= ck-0.3.3 3DISTNAME= ck-0.4.1
4CATEGORIES= devel 4CATEGORIES= devel
5MASTER_SITES= http://concurrencykit.org/releases/ 5MASTER_SITES= http://concurrencykit.org/releases/
6 6
7MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
8HOMEPAGE= http://concurrencykit.org/ 8HOMEPAGE= http://concurrencykit.org/
9COMMENT= Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures 9COMMENT= Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures
10LICENSE= 2-clause-bsd 10LICENSE= 2-clause-bsd
11 11
12HAS_CONFIGURE= yes 12HAS_CONFIGURE= yes
13CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} 13CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
14USE_TOOLS+= pkg-config 14USE_TOOLS+= pkg-config
15 15
16PKGCONFIG_OVERRIDE+= build/ck.pc.in 16PKGCONFIG_OVERRIDE+= build/ck.pc.in

cvs diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/PLIST (expand / switch to unified diff)

--- pkgsrc/devel/concurrencykit/PLIST 2014/01/12 14:59:47 1.1
+++ pkgsrc/devel/concurrencykit/PLIST 2014/02/28 14:42:15 1.2
@@ -1,36 +1,37 @@ @@ -1,36 +1,37 @@
1@comment $NetBSD: PLIST,v 1.1 2014/01/12 14:59:47 mspo Exp $ 1@comment $NetBSD: PLIST,v 1.2 2014/02/28 14:42:15 mspo Exp $
2include/ck_array.h 2include/ck_array.h
3include/ck_backoff.h 3include/ck_backoff.h
4include/ck_barrier.h 4include/ck_barrier.h
5include/ck_bitmap.h 5include/ck_bitmap.h
6include/ck_brlock.h 6include/ck_brlock.h
7include/ck_bytelock.h 7include/ck_bytelock.h
8include/ck_cc.h 8include/ck_cc.h
9include/ck_cohort.h 9include/ck_cohort.h
10include/ck_elide.h 10include/ck_elide.h
11include/ck_epoch.h 11include/ck_epoch.h
12include/ck_fifo.h 12include/ck_fifo.h
13include/ck_hp.h 13include/ck_hp.h
14include/ck_hp_fifo.h 14include/ck_hp_fifo.h
15include/ck_hp_stack.h 15include/ck_hp_stack.h
16include/ck_hs.h 16include/ck_hs.h
17include/ck_ht.h 17include/ck_ht.h
18include/ck_limits.h 18include/ck_limits.h
19include/ck_malloc.h 19include/ck_malloc.h
20include/ck_md.h 20include/ck_md.h
21include/ck_pflock.h 21include/ck_pflock.h
22include/ck_pr.h 22include/ck_pr.h
23include/ck_queue.h 23include/ck_queue.h
 24include/ck_rhs.h
24include/ck_ring.h 25include/ck_ring.h
25include/ck_rwcohort.h 26include/ck_rwcohort.h
26include/ck_rwlock.h 27include/ck_rwlock.h
27include/ck_sequence.h 28include/ck_sequence.h
28include/ck_spinlock.h 29include/ck_spinlock.h
29include/ck_stack.h 30include/ck_stack.h
30include/ck_stdint.h 31include/ck_stdint.h
31include/gcc/arm/ck_f_pr.h 32include/gcc/arm/ck_f_pr.h
32include/gcc/arm/ck_pr.h 33include/gcc/arm/ck_pr.h
33include/gcc/ck_cc.h 34include/gcc/ck_cc.h
34include/gcc/ck_f_pr.h 35include/gcc/ck_f_pr.h
35include/gcc/ck_pr.h 36include/gcc/ck_pr.h
36include/gcc/ppc/ck_f_pr.h 37include/gcc/ppc/ck_f_pr.h
@@ -47,153 +48,156 @@ include/gcc/${MACHINE_ARCH}/ck_pr_rtm.h @@ -47,153 +48,156 @@ include/gcc/${MACHINE_ARCH}/ck_pr_rtm.h
47include/spinlock/anderson.h 48include/spinlock/anderson.h
48include/spinlock/cas.h 49include/spinlock/cas.h
49include/spinlock/clh.h 50include/spinlock/clh.h
50include/spinlock/dec.h 51include/spinlock/dec.h
51include/spinlock/fas.h 52include/spinlock/fas.h
52include/spinlock/hclh.h 53include/spinlock/hclh.h
53include/spinlock/mcs.h 54include/spinlock/mcs.h
54include/spinlock/ticket.h 55include/spinlock/ticket.h
55lib/libck.a 56lib/libck.a
56lib/libck.so 57lib/libck.so
57lib/libck.so.0 58lib/libck.so.0
58lib/libck.so.${PKGVERSION} 59lib/libck.so.${PKGVERSION}
59lib/pkgconfig/ck.pc 60lib/pkgconfig/ck.pc
60man/man3/CK_ARRAY_FOREACH.3.gz 61man/man3/CK_ARRAY_FOREACH.3
61man/man3/CK_COHORT_INIT.3.gz 62man/man3/CK_COHORT_INIT.3
62man/man3/CK_COHORT_INSTANCE.3.gz 63man/man3/CK_COHORT_INSTANCE.3
63man/man3/CK_COHORT_LOCK.3.gz 64man/man3/CK_COHORT_LOCK.3
64man/man3/CK_COHORT_PROTOTYPE.3.gz 65man/man3/CK_COHORT_PROTOTYPE.3
65man/man3/CK_COHORT_TRYLOCK.3.gz 66man/man3/CK_COHORT_TRYLOCK.3
66man/man3/CK_COHORT_TRYLOCK_PROTOTYPE.3.gz 67man/man3/CK_COHORT_TRYLOCK_PROTOTYPE.3
67man/man3/CK_COHORT_UNLOCK.3.gz 68man/man3/CK_COHORT_UNLOCK.3
68man/man3/CK_HS_HASH.3.gz 69man/man3/CK_HS_HASH.3
69man/man3/CK_RWCOHORT_INIT.3.gz 70man/man3/CK_RWCOHORT_INIT.3
70man/man3/CK_RWCOHORT_INSTANCE.3.gz 71man/man3/CK_RWCOHORT_INSTANCE.3
71man/man3/CK_RWCOHORT_PROTOTYPE.3.gz 72man/man3/CK_RWCOHORT_PROTOTYPE.3
72man/man3/CK_RWCOHORT_READ_LOCK.3.gz 73man/man3/CK_RWCOHORT_READ_LOCK.3
73man/man3/CK_RWCOHORT_READ_UNLOCK.3.gz 74man/man3/CK_RWCOHORT_READ_UNLOCK.3
74man/man3/CK_RWCOHORT_WRITE_LOCK.3.gz 75man/man3/CK_RWCOHORT_WRITE_LOCK.3
75man/man3/CK_RWCOHORT_WRITE_UNLOCK.3.gz 76man/man3/CK_RWCOHORT_WRITE_UNLOCK.3
76man/man3/ck_array_buffer.3.gz 77man/man3/ck_array_buffer.3
77man/man3/ck_array_commit.3.gz 78man/man3/ck_array_commit.3
78man/man3/ck_array_deinit.3.gz 79man/man3/ck_array_deinit.3
79man/man3/ck_array_init.3.gz 80man/man3/ck_array_init.3
80man/man3/ck_array_initialized.3.gz 81man/man3/ck_array_initialized.3
81man/man3/ck_array_length.3.gz 82man/man3/ck_array_length.3
82man/man3/ck_array_put.3.gz 83man/man3/ck_array_put.3
83man/man3/ck_array_put_unique.3.gz 84man/man3/ck_array_put_unique.3
84man/man3/ck_array_remove.3.gz 85man/man3/ck_array_remove.3
85man/man3/ck_bitmap_base.3.gz 86man/man3/ck_bitmap_base.3
86man/man3/ck_bitmap_bits.3.gz 87man/man3/ck_bitmap_bits.3
87man/man3/ck_bitmap_buffer.3.gz 88man/man3/ck_bitmap_buffer.3
88man/man3/ck_bitmap_clear.3.gz 89man/man3/ck_bitmap_clear.3
89man/man3/ck_bitmap_init.3.gz 90man/man3/ck_bitmap_init.3
90man/man3/ck_bitmap_iterator_init.3.gz 91man/man3/ck_bitmap_iterator_init.3
91man/man3/ck_bitmap_next.3.gz 92man/man3/ck_bitmap_next.3
92man/man3/ck_bitmap_reset_mpmc.3.gz 93man/man3/ck_bitmap_reset.3.gz
93man/man3/ck_bitmap_set_mpmc.3.gz 94man/man3/ck_bitmap_set.3.gz
94man/man3/ck_bitmap_size.3.gz 95man/man3/ck_bitmap_size.3
95man/man3/ck_bitmap_test.3.gz 96man/man3/ck_bitmap_test.3
96man/man3/ck_brlock.3.gz 97man/man3/ck_bitmap_union.3.gz
97man/man3/ck_cohort.3.gz 98man/man3/ck_brlock.3
98man/man3/ck_elide.3.gz 99man/man3/ck_cohort.3
99man/man3/ck_epoch_barrier.3.gz 100man/man3/ck_elide.3
100man/man3/ck_epoch_begin.3.gz 101man/man3/ck_epoch_barrier.3
101man/man3/ck_epoch_call.3.gz 102man/man3/ck_epoch_begin.3
102man/man3/ck_epoch_end.3.gz 103man/man3/ck_epoch_call.3
103man/man3/ck_epoch_init.3.gz 104man/man3/ck_epoch_end.3
104man/man3/ck_epoch_poll.3.gz 105man/man3/ck_epoch_init.3
105man/man3/ck_epoch_reclaim.3.gz 106man/man3/ck_epoch_poll.3
106man/man3/ck_epoch_recycle.3.gz 107man/man3/ck_epoch_reclaim.3
107man/man3/ck_epoch_register.3.gz 108man/man3/ck_epoch_recycle.3
108man/man3/ck_epoch_synchronize.3.gz 109man/man3/ck_epoch_register.3
109man/man3/ck_epoch_unregister.3.gz 110man/man3/ck_epoch_synchronize.3
110man/man3/ck_hs_count.3.gz 111man/man3/ck_epoch_unregister.3
111man/man3/ck_hs_destroy.3.gz 112man/man3/ck_hs_count.3
112man/man3/ck_hs_fas.3.gz 113man/man3/ck_hs_destroy.3
113man/man3/ck_hs_gc.3.gz 114man/man3/ck_hs_fas.3
114man/man3/ck_hs_get.3.gz 115man/man3/ck_hs_gc.3
115man/man3/ck_hs_grow.3.gz 116man/man3/ck_hs_get.3
116man/man3/ck_hs_init.3.gz 117man/man3/ck_hs_grow.3
117man/man3/ck_hs_iterator_init.3.gz 118man/man3/ck_hs_init.3
118man/man3/ck_hs_move.3.gz 119man/man3/ck_hs_iterator_init.3
119man/man3/ck_hs_next.3.gz 120man/man3/ck_hs_move.3
120man/man3/ck_hs_put.3.gz 121man/man3/ck_hs_next.3
121man/man3/ck_hs_rebuild.3.gz 122man/man3/ck_hs_put.3
122man/man3/ck_hs_remove.3.gz 123man/man3/ck_hs_rebuild.3
123man/man3/ck_hs_reset.3.gz 124man/man3/ck_hs_remove.3
124man/man3/ck_hs_reset_size.3.gz 125man/man3/ck_hs_reset.3
125man/man3/ck_hs_set.3.gz 126man/man3/ck_hs_reset_size.3
126man/man3/ck_hs_stat.3.gz 127man/man3/ck_hs_set.3
127man/man3/ck_ht_count.3.gz 128man/man3/ck_hs_stat.3
128man/man3/ck_ht_destroy.3.gz 129man/man3/ck_ht_count.3
129man/man3/ck_ht_entry_empty.3.gz 130man/man3/ck_ht_destroy.3
130man/man3/ck_ht_entry_key.3.gz 131man/man3/ck_ht_entry_empty.3
131man/man3/ck_ht_entry_key_direct.3.gz 132man/man3/ck_ht_entry_key.3
132man/man3/ck_ht_entry_key_length.3.gz 133man/man3/ck_ht_entry_key_direct.3
133man/man3/ck_ht_entry_key_set.3.gz 134man/man3/ck_ht_entry_key_length.3
134man/man3/ck_ht_entry_key_set_direct.3.gz 135man/man3/ck_ht_entry_key_set.3
135man/man3/ck_ht_entry_set.3.gz 136man/man3/ck_ht_entry_key_set_direct.3
136man/man3/ck_ht_entry_set_direct.3.gz 137man/man3/ck_ht_entry_set.3
137man/man3/ck_ht_entry_value.3.gz 138man/man3/ck_ht_entry_set_direct.3
138man/man3/ck_ht_entry_value_direct.3.gz 139man/man3/ck_ht_entry_value.3
139man/man3/ck_ht_gc.3.gz 140man/man3/ck_ht_entry_value_direct.3
140man/man3/ck_ht_get_spmc.3.gz 141man/man3/ck_ht_gc.3
141man/man3/ck_ht_grow_spmc.3.gz 142man/man3/ck_ht_get_spmc.3
142man/man3/ck_ht_hash.3.gz 143man/man3/ck_ht_grow_spmc.3
143man/man3/ck_ht_hash_direct.3.gz 144man/man3/ck_ht_hash.3
144man/man3/ck_ht_init.3.gz 145man/man3/ck_ht_hash_direct.3
145man/man3/ck_ht_iterator_init.3.gz 146man/man3/ck_ht_init.3
146man/man3/ck_ht_next.3.gz 147man/man3/ck_ht_iterator_init.3
147man/man3/ck_ht_put_spmc.3.gz 148man/man3/ck_ht_next.3
148man/man3/ck_ht_remove_spmc.3.gz 149man/man3/ck_ht_put_spmc.3
149man/man3/ck_ht_reset_size_spmc.3.gz 150man/man3/ck_ht_remove_spmc.3
150man/man3/ck_ht_reset_spmc.3.gz 151man/man3/ck_ht_reset_size_spmc.3
151man/man3/ck_ht_set_spmc.3.gz 152man/man3/ck_ht_reset_spmc.3
152man/man3/ck_ht_stat.3.gz 153man/man3/ck_ht_set_spmc.3
153man/man3/ck_pr.3.gz 154man/man3/ck_ht_stat.3
154man/man3/ck_pr_add.3.gz 155man/man3/ck_pr.3
155man/man3/ck_pr_and.3.gz 156man/man3/ck_pr_add.3
156man/man3/ck_pr_barrier.3.gz 157man/man3/ck_pr_and.3
157man/man3/ck_pr_btc.3.gz 158man/man3/ck_pr_barrier.3
158man/man3/ck_pr_btr.3.gz 159man/man3/ck_pr_btc.3
159man/man3/ck_pr_bts.3.gz 160man/man3/ck_pr_btr.3
160man/man3/ck_pr_cas.3.gz 161man/man3/ck_pr_bts.3
161man/man3/ck_pr_dec.3.gz 162man/man3/ck_pr_cas.3
162man/man3/ck_pr_faa.3.gz 163man/man3/ck_pr_dec.3
163man/man3/ck_pr_fas.3.gz 164man/man3/ck_pr_faa.3
164man/man3/ck_pr_fence_atomic.3.gz 165man/man3/ck_pr_fas.3
165man/man3/ck_pr_fence_atomic_load.3.gz 166man/man3/ck_pr_fence_acquire.3.gz
166man/man3/ck_pr_fence_atomic_store.3.gz 167man/man3/ck_pr_fence_atomic.3
167man/man3/ck_pr_fence_load.3.gz 168man/man3/ck_pr_fence_atomic_load.3
168man/man3/ck_pr_fence_load_atomic.3.gz 169man/man3/ck_pr_fence_atomic_store.3
169man/man3/ck_pr_fence_load_depends.3.gz 170man/man3/ck_pr_fence_load.3
170man/man3/ck_pr_fence_load_store.3.gz 171man/man3/ck_pr_fence_load_atomic.3
171man/man3/ck_pr_fence_memory.3.gz 172man/man3/ck_pr_fence_load_depends.3
172man/man3/ck_pr_fence_store.3.gz 173man/man3/ck_pr_fence_load_store.3
173man/man3/ck_pr_fence_store_atomic.3.gz 174man/man3/ck_pr_fence_memory.3
174man/man3/ck_pr_fence_store_load.3.gz 175man/man3/ck_pr_fence_release.3.gz
175man/man3/ck_pr_inc.3.gz 176man/man3/ck_pr_fence_store.3
176man/man3/ck_pr_load.3.gz 177man/man3/ck_pr_fence_store_atomic.3
177man/man3/ck_pr_neg.3.gz 178man/man3/ck_pr_fence_store_load.3
178man/man3/ck_pr_not.3.gz 179man/man3/ck_pr_inc.3
179man/man3/ck_pr_or.3.gz 180man/man3/ck_pr_load.3
180man/man3/ck_pr_rtm.3.gz 181man/man3/ck_pr_neg.3
181man/man3/ck_pr_stall.3.gz 182man/man3/ck_pr_not.3
182man/man3/ck_pr_store.3.gz 183man/man3/ck_pr_or.3
183man/man3/ck_pr_sub.3.gz 184man/man3/ck_pr_rtm.3
184man/man3/ck_pr_xor.3.gz 185man/man3/ck_pr_stall.3
185man/man3/ck_queue.3.gz 186man/man3/ck_pr_store.3
186man/man3/ck_ring_capacity.3.gz 187man/man3/ck_pr_sub.3
187man/man3/ck_ring_dequeue_spmc.3.gz 188man/man3/ck_pr_xor.3
188man/man3/ck_ring_dequeue_spsc.3.gz 189man/man3/ck_queue.3
189man/man3/ck_ring_enqueue_spmc.3.gz 190man/man3/ck_ring_capacity.3
190man/man3/ck_ring_enqueue_spmc_size.3.gz 191man/man3/ck_ring_dequeue_spmc.3
191man/man3/ck_ring_enqueue_spsc.3.gz 192man/man3/ck_ring_dequeue_spsc.3
192man/man3/ck_ring_enqueue_spsc_size.3.gz 193man/man3/ck_ring_enqueue_spmc.3
193man/man3/ck_ring_init.3.gz 194man/man3/ck_ring_enqueue_spmc_size.3
194man/man3/ck_ring_size.3.gz 195man/man3/ck_ring_enqueue_spsc.3
195man/man3/ck_ring_trydequeue_spmc.3.gz 196man/man3/ck_ring_enqueue_spsc_size.3
196man/man3/ck_rwcohort.3.gz 197man/man3/ck_ring_init.3
197man/man3/ck_rwlock.3.gz 198man/man3/ck_ring_size.3
198man/man3/ck_sequence.3.gz 199man/man3/ck_ring_trydequeue_spmc.3
199man/man3/ck_spinlock.3.gz 200man/man3/ck_rwcohort.3
 201man/man3/ck_rwlock.3
 202man/man3/ck_sequence.3
 203man/man3/ck_spinlock.3

cvs diff -r1.1 -r1.2 pkgsrc/devel/concurrencykit/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/concurrencykit/distinfo 2014/01/12 14:59:47 1.1
+++ pkgsrc/devel/concurrencykit/distinfo 2014/02/28 14:42:15 1.2
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.1 2014/01/12 14:59:47 mspo Exp $ 1$NetBSD: distinfo,v 1.2 2014/02/28 14:42:15 mspo Exp $
2 2
3SHA1 (ck-0.3.3.tar.gz) = b0a522926e46177fd124ea8daa838c1cbb91484b 3SHA1 (ck-0.4.1.tar.gz) = 53be7f3cc42bf46f409926a8add911bf49f37c20
4RMD160 (ck-0.3.3.tar.gz) = 4ef304d57387855c33ff976ee2fceaee57735aeb 4RMD160 (ck-0.4.1.tar.gz) = f6d6f2f6f3bb1dc9fd14f3f7024604ad6110c24a
5Size (ck-0.3.3.tar.gz) = 174365 bytes 5Size (ck-0.4.1.tar.gz) = 188050 bytes