Samy Al Bahra
4fc1717975
ck_epoch: Use full barrier on read begin and load barrier on read end.
...
We shouldn't offload the responsibility of the read_begin flush
for shared data mutations to the user. read_end requires a load
barrier at the least, not a store barrier.
13 years ago
Samy Al Bahra
ab6cbec48b
build: Prepare for next tag.
13 years ago
Samy Al Bahra
674e69f259
ck_queue: Add BSD-derived queue.h facility.
...
Writer-side synchronization is still necessary. My current use-cases call for
SLIST and LIST implementations, and as such, I've only implemented support
for these. TAILQ facilities will be developed when the time comes that I require
them or if there is sufficient user-demand.
13 years ago
Samy Al Bahra
4d2f01b84d
regressions: Do not break strict aliasing rules in ck_pr validation tests.
...
Signed-off-by: Samy Al Bahra <sbahra@appnexus.com>
13 years ago
Samy Al Bahra
941bc25734
regressions: Add missing include for memset.
...
Signed-off-by: Samy Al Bahra <sbahra@appnexus.com>
13 years ago
Samy Al Bahra
544de60849
ck_pr: Add appropriate casts to ck_pr_cas unit test.
13 years ago
Samy Al Bahra
9dd525d9ee
regressions: Remove my awesome attempt at documenting ck_pr_cas.c
13 years ago
Samy Al Bahra
becdffadac
regressions: arguments are currently unused.
13 years ago
Samy Al Bahra
941542704e
ck_pr: bzero is deprecated.
13 years ago
Samy Al Bahra
f5f5074b70
ck_pr: Cast down to void pointer for cmpxchg16b wrapper.
13 years ago
Samy Al Bahra
eae4a518a8
ck_epoch: Differentiate read/write epoch endings.
...
ck_epoch_end is deprecated. Please use ck_epoch_read_end
and ck_epoch_write_end instead.
13 years ago
Samy Al Bahra
5f53f86cab
regressions: Add missing ck_ring SPMC benchmark.
13 years ago
Samy Al Bahra
17f69d6c0d
ck_md: Parenthesize CK_MD_CACHELINE.
13 years ago
Samy Al Bahra
5bcc131a35
build: Use shorter URL in pkg-config spec.
13 years ago
Samy Al Bahra
c047201846
build: Bump revision for next release.
13 years ago
David Joseph
0123c454f4
ck_pr: Add support for atomic ops for doubles.
...
Implemented add, sub, dec, inc, neg, faa and fas in terms of CAS.
13 years ago
Samy Al Bahra
1cefea7eb6
ck_spinlock: Provide a default implementation.
...
Several users in the past have noted it was difficult for them
to decide what spinlock implementation to use. In light of this,
a light-weight greedy default is chosen (currently ck_spinlock_fas).
13 years ago
Samy Al Bahra
50f6f6ee02
ck_rwlock: Add ck_rwlock_write_downgrade.
...
This function allows the writer to downgrade to shared access
atomically.
13 years ago
Samy Al Bahra
0231b68a8b
ck_spinlock: Add ck_spinlock_*_locked.
...
This class of functions detects whether or not the
lock is currently acquired.
13 years ago
Samy Al Bahra
e8a96f4fb8
ck_pr: Add ck_pr_fas_double for {ppc,x86_}64 and ck_pr_cas_double{_2} for x86_64.
13 years ago
Samy Al Bahra
5e7adf5983
ck_pr: Add respective feature flags for ck_pr_load/store_double.
13 years ago
Samy Al Bahra
1513afefda
build: Prepare for next minor release.
13 years ago
Samy Al Bahra
0e20787a1d
build: Bump version for next minor release.
13 years ago
William Irwin
41ef93744a
ck_pr: Add ck_pr_load_double()/ck_pr_store_double() in case volatile loads and stores of floating point values are needed.
13 years ago
Samy Al Bahra
500c81cbf8
README: Update URL.
13 years ago
Samy Al Bahra
851aaf8dd6
ck_brlock: Allow for recursive reader lock.
13 years ago
Samy Al Bahra
0d8faa5cd8
ck_epoch: Update unit tests to conform to new API.
13 years ago
Samy Al Bahra
c03dd7a45c
ck_epoch: Update peak value on retire.
13 years ago
Samy Al Bahra
cc4b83793f
ck_epoch: Flip arguments, specify epoch_entry before destructor.
13 years ago
Samy Al Bahra
79c7e453ec
ck_epoch: Specify destructor in ck_epoch_retire.
13 years ago
Samy Al Bahra
273bc0703d
build: Prepare version for next minor release.
13 years ago
Samy Al Bahra
10ffb2e6f1
ck_epoch: Support per-object destructors.
...
This increases epoch per-object overhead to 16 bytes.
13 years ago
Samy Al Bahra
0f48b6fe7a
ck_proxy: Add support for recursive epoch sections.
...
Note that the global epoch won't tick over until the
parent epoch section has completed.
13 years ago
Samy Al Bahra
b5755888fc
ck_rwlock: Add trylock variants with user-defined spin factor.
13 years ago
Samy Al Bahra
9feb93758f
ck_brlock: Add trylock variants with user-defined spin factor.
13 years ago
Samy Al Bahra
8b0e83e6ab
ck_brlock: No need for explicit pipeline stall if writer is active.
13 years ago
Samy Al Bahra
46af4d7d24
Merge branch 'master' of github.com:sbahra/ck
13 years ago
Samy Al Bahra
715f1c4182
build: Create correct header file directory.
13 years ago
Samy Al Bahra
b7953db58d
Merge branch 'master' of ssh://git.concurrencykit.org/ck
13 years ago
Samy Al Bahra
f59687adf2
build: Add support for DESTDIR.
13 years ago
Samy Al Bahra
1cf3caba4e
Bump version counter for next release.
13 years ago
Samy Al Bahra
f069d081be
ck_hp: Branch-free compare (contributed by Degski).
13 years ago
Samy Al Bahra
4e7c6ee270
Add full barrier for anderson spinlock.
13 years ago
Samy Al Bahra
5889498c16
ck_ring: Add modulo logic to ck_ring_size and CK_RING_SIZE.
14 years ago
Samy Al Bahra
faf3084c26
configure: No need for GENERATE_FILE.
14 years ago
Samy Al Bahra
d3f0a634ab
ck_fifo: Add a mechanism to extract the spare node from the SPSC FIFO.
14 years ago
Samy Al Bahra
6b627d9aad
ck_fifo: Add trylock interface to dequeue.
14 years ago
Samy Al Bahra
5b37b97f7e
ck_fifo: Add fifo trylock variant.
14 years ago
Samy Al Bahra
76411d5d63
ck_fifo: Add volatile variation of ISEMPTY, isempty.
14 years ago
Samy Al Bahra
1d3c6e472f
gitignore: Add some new regressions.
14 years ago