alfredo
bc594bf809
use __restrict__ under GCC to support both C++ and C
8 years ago
Samy Al Bahra
f449e90b3f
build: Fix clang detection to require major >= 3.
8 years ago
cognet
24133c8d31
Merge pull request #77 from guotie/patch-1
...
Update ck_ring.h
8 years ago
铁哥
4f01918cbb
Update ck_ring.h
...
fix bug
8 years ago
Olivier Houchard
0771af0163
doc: ck_epoch_poll now only takes one argument.
9 years ago
Samy Al Bahra
8ce1f45ee7
Merge pull request #73 from LebedevRI/ht
...
ck_ht: Call user-specified hash function, regression test included.
9 years ago
Roman Lebedev
3bb8e04def
ck_ht_hash(): actually use user-provided hash function
...
Fixes failing test that i have added in previous commit.
9 years ago
Roman Lebedev
b6d82a481a
Ht: regressions: validate serial: check that our hash function was actually called.
...
Of course, assumes that there won't be an overflow caueing
it to be exactly 0 in the end...
The test fails.
9 years ago
Samy Al Bahra
e60c05bb65
ck_epoch: Epoch goal must be ordered with respect prior operations.
9 years ago
Samy Al Bahra
03bd7a4158
regressions/ck_epoch: Change formatting.
9 years ago
Olivier Houchard
7f625a6fe1
ck_rhs: Make sure we zero all of the descs, not just the first one.
9 years ago
cognet
04f9c9d697
Merge pull request #69 from LebedevRI/master
...
ck_queue: update doc: no tail queue, add STAILQ description
9 years ago
Roman Lebedev
1a10ab230e
ck_queue: update doc: no tail queue, add STAILQ description
...
Singly-linked tail queue description is taken from sys/queue.h
9 years ago
Samy Al Bahra
42dd531427
doc: Change html target to just use text output.
9 years ago
Samy Al Bahra
2700010b84
[git] Additional .gitignore entries.
9 years ago
Samy Al Bahra
f97d3da5c3
regressions/ck_sequence: Use flag rather than counter value for first set.
...
Prevents resetting exit barrier on overflow. Otherwise, hangs occur
on higher-performing systems.
9 years ago
Samy Al Bahra
c06fd5739f
ck_epoch: Switch to full barrier semantics.
...
May as well capture synchronize -> non-temporal use-case.
9 years ago
Samy Al Bahra
ece3a24a4f
regressions/ck_epoch: Switch to heap allocated records for torture test.
9 years ago
Samy Al Bahra
5b64342668
regressions/ck_epoch: Remove counter dependencies from torture parity test.
9 years ago
Samy Al Bahra
f22f921576
regressions/ck_epoch_section_2: Switch to heap allocated records.
9 years ago
Samy Al Bahra
5999d8a243
regressions/ck_epoch: Shorten stack walk length for ck_epoch_synchronize.
...
This test was taking excessively long (read: hours) on some targets.
9 years ago
Samy Al Bahra
3a3562b96c
regressions/epoch: Add new torture test.
...
Verified with fault injection into ck_epoch_synchronize.
9 years ago
Samy Al Bahra
275908d246
regressions: Add ck_test convenience macro.
9 years ago
Samy Al Bahra
2686ca0223
ck_epoch: Bug fixes and performance improvements.
...
- ck_epoch_begin: Disallow early load of epoch as it leads to measurable
performance degradation in some benchmarks.
- ck_epoch_synchronize: Enforce barrier semantics.
9 years ago
Samy Al Bahra
87cdb9ea19
[whitespace] epoch: Make it crystal clear.
...
I had reverted this 3 years ago for some stupid reason.
9 years ago
Samy Al Bahra
84d92cd6a5
[whitespace] epoch: Update barrier comment in synchronize.
9 years ago
Samy Al Bahra
4f8e858410
build: Bump version for release.
9 years ago
Samy Al Bahra
c845efcb0a
regressions/epoch: Various clean-up including fixes for Windows.
9 years ago
Samy Al Bahra
c20593a05e
[whitespace] epoch: Fix comment.
9 years ago
Samy Al Bahra
968b56598b
regressions/epoch: Additional coverage for epoch sections.
9 years ago
Samy Al Bahra
fb5abc52ba
epoch: Prefer additional return point to nesting.
9 years ago
Samy Al Bahra
001ea45b40
epoch: Remove redundant branch in delref.
9 years ago
Samy Al Bahra
80a9b6ff9c
epoch: Fix fat-finger that breaks epoch sections.
...
And this is why tests should also be validated against
fault injection.
9 years ago
Samy Al Bahra
ff23c2d3fd
ck_bitmap: Use CK_BITMAP_OFFSET.
9 years ago
Samy Al Bahra
7646fb624b
ck_pr: fence_memory now has strict semantics on TSO.
...
The old behavior was from the world before the great fence
refactor.
9 years ago
Samy Al Bahra
600fe6419b
ck_epoch: Fix typo (affects RMO targets).
9 years ago
Samy Al Bahra
061b67bb3e
build: Bump version for release.
9 years ago
Samy Al Bahra
6cec54ab2c
ck_epoch: Fix invalid comment.
9 years ago
Samy Al Bahra
9893f12bcf
ck_ht: ck_hm not making it to next release, remove warning.
9 years ago
Samy Al Bahra
357324dd3e
doc/ck_epoch: Update documentation for epoch sections.
9 years ago
Samy Al Bahra
2e75aefc4a
ck_epoch: Allow for forward progress in concurrent epoch sections.
...
This work is derived directly from the work of John Esmet and Paul
Khuong ({jesmet,pkhuong}@appnexus.com) and PR34.
9 years ago
Samy Al Bahra
0d6d384f3f
ck_epoch: Cache associated epoch state machine in record.
...
This ends up removing arguments (and vector for error) for several
functions on the common path of ck_epoch.
9 years ago
Paul Khuong
f1302c4920
ck_ring: explicit casts to clarify the semantics of generic (pointer) dequeuing
9 years ago
Samy Al Bahra
52f42c4392
ck_pr: Add ck_pr_fence_acqrel.
...
Provides both acquire and release semantics.
9 years ago
Samy Al Bahra
ea9658d8d8
regressions: Switch to volatile load on ready flag.
9 years ago
Olivier Houchard
27fb1bc00f
ck: Reimplement a few libc headers, to make CK build when compiling in the
...
FreeBSD kernel.
9 years ago
Samy Al Bahra
4677de8473
ck_ring: [whitespace] Add comment to PROTOTYPE family.
9 years ago
Samy Al Bahra
fee4e7187b
ck_ring: Clean-up internal implementations.
...
Break out internal implementations to _mp and _sc variants from which
public interface is built on. Do not rely on macro. Adopt CK_CC_RESTRICT
instead of using restrict directly.
9 years ago
Samy Al Bahra
414ba224ca
ck_cc: Add FORCE_INLINE attribute and remove stale comments.
9 years ago
Samy Al Bahra
3f4b973f8c
git: Add additional entries to .gitignore
9 years ago