Samy Al Bahra
d12388f5f7
doc: Add ck_pr_fence_load_X manual pages.
12 years ago
Samy Al Bahra
adbdfe6633
ck_pr: Get rid of ck_pr_fence_X_X functions.
...
These add unnecessary complexity to the ck_pr_fence interface.
Instead, it can be safely assumed that developers will use
ck_pr_fence_X to enforce X -> X ordering.
12 years ago
Samy Al Bahra
c2e99fa43e
doc: Add references to ck_pr_fence_atomic_X.
12 years ago
Samy Al Bahra
c58b0aa755
doc: Add ck_pr_fence_atomic_X manual pages.
12 years ago
Samy Al Bahra
931e967f3f
doc: Add ck_pr_fence_atomic manual page.
12 years ago
Samy Al Bahra
e52fd0b405
ck_fifo: Migrate MPMC FIFO to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra
0d827b4c81
ck_hp_fifo: Finer-grained mapping to ck_pr_fence_X_Y.
...
Specifically, atomic-RMW fences were previously generalized
as store operations.
12 years ago
Samy Al Bahra
58af5c3072
ck_epoch: Elaborate on ck_epoch_register load fence.
12 years ago
Samy Al Bahra
4492325ccc
ck_hs: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra
0f08a33278
Merge branch 'master' of git.concurrencykit.org:ck
12 years ago
Samy Al Bahra
2ba3f59374
ck_spinlock: Migrate MCS to ck_pr_fence_X_Y.
...
This includes fixing acquire semantics on mcs_lock fast path.
This represents an additional fence on the fast path for
acquire semantics post-acquisition.
12 years ago
Samy Al Bahra
b43832c384
ck_spinlock: Migrate MCS to lighter-weight fast path.
12 years ago
Samy Al Bahra
8540821f3f
ck_spinlock: Minor style changes to return statement.
12 years ago
Samy Al Bahra
08d13deaf4
ck_brlock: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra
214d7aed66
ck_pr: Implement ck_pr_fence_atomic in MD ck_pr.
12 years ago
Samy Al Bahra
65f24e8860
git: Add ck_stailq regression to gitignore.
12 years ago
Samy Al Bahra
8320a4a6f4
ck_pr: Comment elaboration on ck_pr_fence_atomic semantics.
...
More specifically, note that in memory models where atomic
operations do not have serializing effects that atomic
read-modify-write operations are modeled as store operations.
12 years ago
Samy Al Bahra
3f06a4e23a
ck_rwlock: Use ck_pr_fence_atomic.
12 years ago
Samy Al Bahra
ffd22e57b8
ck_bytelock: Use ck_pr_fence_atomic.
12 years ago
Samy Al Bahra
a4220f2377
ck_pr: Remove ck_pr_fence_load_depends from GCC port.
12 years ago
Samy Al Bahra
d1dd6611ac
ck_pr: Add ck_pr_fence_atomic interface.
...
These operations serialize atomic-RMW operations with respect
to each other, loads and stores. In addition to this, the
load_depends implementations have been removed.
12 years ago
Samy Al Bahra
8face51e0d
ck_spinlock: Acquire semantics for anderson spinlock.
12 years ago
Samy Al Bahra
f87e0caf99
ck_bytelock: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra
83bc7f9f54
ck_epoch: Migrate to ck_pr_fence_X_Y.
12 years ago
Samy Al Bahra
fe7e5ac5b1
ck_hp_stack: Migrate to ck_pr_fence_X_Y functions.
12 years ago
Samy Al Bahra
01f89ee691
ck_hp_fifo: Migrate to ck_pr_fence_X_Y functions.
12 years ago
Samy Al Bahra
b025722fbd
ck_brlock: Migrate to ck_pr_fence_X_Y interface.
12 years ago
Samy Al Bahra
5506ad2744
ck_pr: Move ck_pr_barrier to compiler port.
12 years ago
Samy Al Bahra
cc8c3fb2db
ck_pr/gcc: Fix style issue.
12 years ago
Samy Al Bahra
8311e9fcb4
ck_pr: Update GCC port and change ck_pr dependency path.
...
The compiler-specific ck_pr is now unconditionally included.
It currently implements things like compiler barriers.
12 years ago
Samy Al Bahra
137fb49951
regressions: Fix link order.
12 years ago
Samy Al Bahra
44b769963f
ck_pr: ck_pr_fence_X_Y interface has been added.
...
ck_pr_fence_{load_load,store_store,load_store,store_load} operations
have been added. In addition to this, it is no longer the responsibility
of architecture ports to determine when to emit a specific fence. Instead,
the underlying port will always emit the necessary instructions to
enforce strict ordering. The higher-level include/ck_pr implementation will
enforce whether or not a fence is necessary to be emitted according to
the memory model specified by ck_md (CK_MD_{TSO,RMO,PSO}).
In other words, only ck_pr_fence_strict_* is implemented by the MD-ck_pr
port.
12 years ago
Samy Al Bahra
ca35d3bb75
regressions/ck_hs: Fix typo in Copyright statement.
12 years ago
Samy Al Bahra
c9ecf8e210
doc: Add ck_ht_reset_size_spmc manual page, fix references.
...
This commit also fixes incorrect references to non-existent
ck_ht_reset function (replaced with ck_ht_reset_spmc).
12 years ago
Samy Al Bahra
8718912993
doc: Cross-reference ck_hs_reset_size and fix title.
12 years ago
Samy Al Bahra
b75227089f
doc: Add ck_hs_reset_size manual page.
12 years ago
Samy Al Bahra
855a1472a8
ck_ht: Add ck_ht_reset_size_spmc operation.
...
The ck_ht_reset_size_spmc operation takes an additional argument
that allows the user to specify the size of the new generation
of the hashtable.
12 years ago
Samy Al Bahra
73531e9e48
ck_hs: Add ck_hs_reset_size operation.
...
The ck_hs_reset_size operation takes an additional argument
that allows the user to specify the size of the new generation
of the hashset.
12 years ago
Samy Al Bahra
327c0fdc95
doc: Fix ck_ring_capacity reference to ck_ring_size.
12 years ago
Samy Al Bahra
4132ec4998
ck_epoch: Add ck_epoch_reclaim function.
...
This function allows for explicit execution of all
deferred callbacks in an epoch_record. The primary
motivation is currently for performance profiling
but there are other use-cases where best-effort
semantics could be applied.
12 years ago
Samy Al Bahra
281b5ad045
Merge branch 'master' of https://github.com/davidjoseph/ck
12 years ago
Samy Al Bahra
67598d9452
build: Bump version for next release.
12 years ago
Samy Al Bahra
f1d10a3d18
doc/ck_ring: Add ck_ring_{capacity,size} manual pages.
12 years ago
Samy Al Bahra
ced5ade893
doc: Add ck_ring manual pages.
12 years ago
Samy Al Bahra
16e8b1c672
regressions/ck_ring: Allow for buffers of size 4 or more.
12 years ago
Samy Al Bahra
1201e09577
ck_ring: Remove stale comment.
12 years ago
David Joseph
adc1e28856
regressions: Windows header and define fixes.
12 years ago
David Joseph
d17d8e87bb
regressions: Remove void * casting.
12 years ago
David Joseph
ce3426ffaf
Merge branch 'master' of git://git.concurrencykit.org/ck
12 years ago
David Joseph
7b94d7c13d
regressions: Make clean and gettimeofday fixes.
12 years ago