Samy Al Bahra
43f7a7692a
ck_cc: Expand LIKELY/UNLIKELY on unsupport compilers.
12 years ago
Samy Al Bahra
23353395ba
doc: Add ck_elide documentation.
12 years ago
Samy Al Bahra
f214d9419e
ck_spinlock: Move elision prototype to end of file.
12 years ago
Samy Al Bahra
c76441fff3
ck_stack: Style changes.
12 years ago
Samy Al Bahra
fc0bfae1da
ck_elide: Commentary on ck_elide interface.
12 years ago
Samy Al Bahra
ac4a703525
regressions: Get rid of debug flags in ck_rwlock benchmark.
12 years ago
Samy Al Bahra
59a1b53e86
ck_spinlock: Migrate to ck_elide.h.
...
Pending unit test updates.
12 years ago
Samy Al Bahra
671f82d7a8
ck_rwlock: Migrate to ck_elide.h.
12 years ago
Samy Al Bahra
68a614328a
ck_elide: General lock elision framework.
...
This allows users to wrap any single-argument lock implementation
to support lock elision. Built-in lock types will make use of this
facility.
12 years ago
Samy Al Bahra
0517a51b06
ck_spinlock: Weaken volatile store in clh_lock.
12 years ago
Samy Al Bahra
64b1201dcc
ck_spinlock: Acquire semantics for old locked operations.
...
Even though the intended use-case is for testing, developers
may want correctness guarantees in other situations.
12 years ago
Samy Al Bahra
143bc4b336
regressions: Add ck_spinlock locked coverage.
12 years ago
Samy Al Bahra
a51c8c7aa6
ck_spinlock: Add ck_spinlock_clh_locked.
12 years ago
Samy Al Bahra
46d61ccd46
ck_spinlock: Add ck_spinlock_ticket_locked.
12 years ago
Samy Al Bahra
f149dd09fe
ck_pr: Add ck_pr_fence_strict_atomic for x86-64.
12 years ago
Samy Al Bahra
55decd0b38
ck_spinlock: Add ck_spinlock_anderson_locked.
12 years ago
Samy Al Bahra
a03d58fff2
ck_rwlock: Use heavier-weight barrier on write path.
...
This is an example limitation of fence_X_Y variant. I am
considering extending this to include an acquire extension.
Use a memory fence to force total order in a manner that
will be clearer to other developers who read this.
This did not manifest as a problem on any target architectures
due to their handling of atomic operations (SPARC models it as
both a load and a store, while Power atomic_load ordering was
enforced through a full barrier).
12 years ago
Samy Al Bahra
a694e871ca
ck_rwlock: Relax write_trylock_rtm semantics.
...
trylock semantics are best effort to begin with, so
avoid fallback path all together.
12 years ago
Samy Al Bahra
3fbefc5042
ck_rwlock: Add read_trylock_rtm.
12 years ago
Samy Al Bahra
4d2ccfe497
ck_rwlock: Add basic RTM interface to rwlock.
...
It is possible this will be moved to a self-contained file.
For a majority of architectures, RTM is an unnecessary
implementation-specific optimization.
12 years ago
Samy Al Bahra
39ed9c6b8a
git: Add ck_sequence benchmark to gitignore.
12 years ago
Samy Al Bahra
7f5216c4c6
regressions/ck_sequence: Add fast-path latency measurement.
12 years ago
Samy Al Bahra
2ed965bfc2
ck_pr_rtm: Fix xtest output clobber identifier.
12 years ago
Samy Al Bahra
43a6628cf1
ck_pr: Initial support for TSX.
...
goto label support has been omitted for the moment.
A majority of initial targets are still pre-gcc-4.7
to support multiple branches.
12 years ago
Samy Al Bahra
04590839d9
ck_sequence: change retry to take unsigned int.
...
version identifier is unsigned int not uint32_t.
12 years ago
Brendon Scheinman
cb0a7c8ce6
Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Brendon Scheinman
9f5fca5905
Merge branch 'master' of https://github.com/bscheinman/ck
12 years ago
Brendon Scheinman
94655f57ff
ck_rwcohort: Completed sample code in documentation;
12 years ago
Samy Al Bahra
a8a74b9f57
ck_spinlock: Remove erroneous mask usage for non-x86 targets.
12 years ago
Samy Al Bahra
045d0e1053
ck_spinlock: Apply modulo arithmetic to proportional back-off ticket lock.
12 years ago
Samy Al Bahra
d0745f51ee
regressions: Lower wait factor for ck_ticket_pb.
12 years ago
Samy Al Bahra
33f30ac941
build: Bump version for next release.
12 years ago
Samy Al Bahra
68ec467ca8
ck_hs: Branch simplification on fast path.
...
Take advantage of probe function invariant
(object != NULL) -> (slot != NULL).
12 years ago
Samy Al Bahra
6587bfa51d
ck_hs: Universally use slot as unit for probe limit optimization.
12 years ago
Samy Al Bahra
cd53e928bf
ck_cc: Add branch execution hint support for GCC.
12 years ago
Samy Al Bahra
b63fe45460
regressions: Fix uninitialized usage in ck_hs parallel_bytestring.
12 years ago
Samy Al Bahra
1cdbb7b7bf
ck_hs: Remove unused return value from ck_hs_fas.
12 years ago
Samy Al Bahra
be9f0d489c
doc: Enable ck_hs_fas manual page compression.
12 years ago
Samy Al Bahra
e330bb9749
doc: Add cross-references to ck_hs_fas.
12 years ago
Samy Al Bahra
3eb29381e6
doc: Update ck_hs_fas title.
12 years ago
Samy Al Bahra
c27f4f27e5
doc: Add ck_hs_fas manual page.
12 years ago
Samy Al Bahra
03efd38742
regressions: Testing of ck_hs_fas functionality.
12 years ago
Samy Al Bahra
7da381bb1a
ck_hs: Prototype for new ck_hs_fas operation.
12 years ago
Samy Al Bahra
693ad68b86
ck_hs: Existence requires generation check.
...
It is possible for a defragmenting set or swap operation
to set a tombstone. If the probe sequence does not encounter
an empty slot and hits maximum write-side probe limit first
for it to fail to reprobe defragmenting store.
12 years ago
Samy Al Bahra
86619b3c38
ck_hs: Add atomic swap operation (requires existence).
12 years ago
Samy Al Bahra
cc164d86e9
doc: Fix argument reference in ck_hs_set manual page.
12 years ago
Samy Al Bahra
df5e62b09c
doc: Fix argument reference in ck_hs_put manual page.
12 years ago
Samy Al Bahra
6c7781d8c3
ck_hs: Simplify marshal path for inserted pointer.
...
ck_hs_marshal function has been added which mutates
pointer to appropriate representation for insertion.
12 years ago
Brendon Scheinman
fc071e1ce2
Merge branch 'master' of https://github.com/bscheinman/ck
12 years ago
Brendon Scheinman
f9ea659bff
Merge branch 'master' of https://github.com/sbahra/ck
12 years ago