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
Samy Al Bahra
c7a12c7ac2
ck_fifo: Add a simple spinlock interface for ck_fifo_spsc.
14 years ago
Samy Al Bahra
20584f085c
Merge commit 'aafefa7592ac0e34d1ad'
14 years ago
Austin Seipp
aafefa7592
Fix build on OS X; ld needs 'install_name', not 'soname'
14 years ago
Samy Al Bahra
55a932787e
Build: Bump counter for next release.
14 years ago
Samy Al Bahra
8854d4de96
Build: Add install-headers target. Add phony uninstall target.
14 years ago
Samy Al Bahra
9920539810
Switch to tags until first API stabilization.
14 years ago
Samy Al Bahra
52e5152225
regressions: Additional header files, rename to throughput.
14 years ago
Samy Al Bahra
d2f5322e99
Build: Correct usage of ln (arguments swapped).
14 years ago
Samy Al Bahra
6132c12163
build: Specify soname for Solaris
14 years ago
Samy Al Bahra
005f0635ff
Build: Generate .soname, more verbose option for Sun linker.
14 years ago
Samy Al Bahra
6d72cc1b85
build: Remove stale flag.
14 years ago
Samy Al Bahra
c40d3f716d
ck_rwlock/ck_brlock: Add throughput benchmarks.
...
For the sake of documentation down the road.
14 years ago
Samy Al Bahra
16c86b98e5
ck_rwlock: Add publish semantics for rwlock.
14 years ago
Samy Al Bahra
43519250f5
build: Use typical LD naming convention for libck.so.
...
This was necessary in order to package CK with some distributions.
14 years ago
Samy Al Bahra
88ee328b78
ck_ring: Add CK_RING_SIZE/CAPACITY and ck_ring_size/capacity.
...
ck_ring_size will return the current size of the ring while ck_ring_capacity
will return the capacity of the specified ring.
14 years ago
Samy Al Bahra
85099afb85
regressions: Add ck_brlock and ck_rwlock executables to gitignore.
14 years ago
Samy Al Bahra
c46bc1f1d7
regressions: Silence some irrelevant compiler warnings.
14 years ago
Samy Al Bahra
e1219a4d17
regressions/ck_stack: Remove unused variable.
14 years ago
Samy Al Bahra
9098485dc7
regressions: Add Makefile for ck_rwlock and ck_brlock.
...
Remove Makefile entry from .gitignore.
14 years ago
Samy Al Bahra
b4404f5f86
regressions: Add ck_rwlock to Makefile.
14 years ago
Samy Al Bahra
7b44a157ea
regressions: Use ck_rwlock instead of local implementation.
...
regressions/ck_bytelock/benchmark/latency: Switch to tabs from spaces.
14 years ago
Samy Al Bahra
006f58edcb
ck_rwlock: Add a naive rw spinlock after many requests.
14 years ago
Samy Al Bahra
647e570516
regressions: Add ck_brlock to the regressions Makefile.
14 years ago
Samy Al Bahra
786efb9594
ck_brlock: Add big reader spinlocks.
14 years ago
Samy Al Bahra
295a63a90b
configure: Suffix flags.
14 years ago
Samy Al Bahra
8fd90d71c3
build: Do not over-write user-specified options.
14 years ago
Samy Al Bahra
631d5f93f4
ck_pr/sparcv9: Recent SPARCs actually implement RSO.
...
ck_pr_fence_store/load will enforce store/load barriers
by default from now on.
14 years ago
Samy Al Bahra
a89f89c033
Fix build on other targets.
...
Update regressions.build.in to use PTHREAD_CFLAGS.
14 years ago
sbahra
49a2820000
Added support for Sun Studio 12 C compiler.
...
build:
- configure step will generate relevant CFLAGS.
- build profiles are for convenience (developers can use themu
for cross-compilation).
regressions:
- Renamed ck_barrier unit tests to work-around behavior
of Solaris linker.
- Adopted use of a PTHREAD_CFLAGS variable.
ck_cc:
- Added internal CK_CC_IMM macro for compilers that are
verbose against impossible inline constraints (or limited
optimizers).
ck_pr/x86*:
- Adopted CK_CC_IMM macro.
- Dropped redundant constraints.
This work was mostly completed by Theo Schlossnagle
<jesus@omniti.com>, much thanks to him. He has
also provided access to a machine with Sun Studio 12.
14 years ago
Samy Al Bahra
2754038882
regressions: Drop run.sh, unnecessary. To be replaced soon.
14 years ago
Samy Al Bahra
38c614222a
ck_spinlock: Avoid modulus on unlock for power of 2 count.
14 years ago
Samy Al Bahra
6b4d03b30d
Add ck_stack_read to gitignore
14 years ago
Samy Al Bahra
b0fbcb8210
regressions: ck_spinlock, make throughput test more robust.
...
Use explicit entry barrier. Move thread counters to separate
cache lines.
14 years ago
Samy Al Bahra
5fd2de18bf
regressions: Additional changes for 32-bit targets.
14 years ago
Samy Al Bahra
69e5c56acb
Merge branch 'master' of git.concurrencykit.org:ck
14 years ago
Samy Al Bahra
f6a2cb1b39
ck_pr/x86_32: Drop 64-bit operations. We just don't care enough about these right now.
...
The real issue is supporting PIC environments. This likely requires stand-alone
assembly blobs, something we don't want to deal with right now.
14 years ago
Samy Al Bahra
d761291ab1
ck_pr: Alphabetically order includes.
14 years ago
Samy Al Bahra
3f87223d21
ck_epoch: Collect from previous instance of epoch. Add torture test.
...
This typo lead to incorrect results. Added a read-mostly torture
test (follow on work is volatile interface for stack).
14 years ago
Samy Al Bahra
13dd1a4f82
ck_epoch: Update reader-side.
14 years ago
Samy Al Bahra
70860736f6
ck_epoch: Update epoch on read.
...
It's safe to update thread epoch on entry to a read-side section.
Without this, it will be very easy to starve writers of reclamation.
14 years ago
Samy Al Bahra
cbe38a9999
ck_epoch: Remove whitespace.
14 years ago
Samy Al Bahra
2ccb2e9ed4
regressions: Add percentage.
14 years ago
Samy Al Bahra
9f53c39600
regressions/common: Add Mac OS X implementation off aff_iterate.
14 years ago
Samy Al Bahra
e23e85b9e9
regressions/ck_barrier: Drop unnecessary flags.
14 years ago
Samy Al Bahra
20fb7a9200
ck_hp: Match epoch semantics.
...
Added improved observability and a ck_hp_purge.
The rename matches the naming used in ck_epoch.
Documentation updates to follow through soon.
14 years ago
Samy Al Bahra
a72e86e0ba
ck_epoch: Follow-up to previous commit.
...
Some changes were not checked in.
14 years ago
Samy Al Bahra
83f1436f84
ck_epoch: Redesigned and improved unit test and observability.
...
ck_epoch_reclaim is now the replacement for ck_epoch_flush.
ck_epoch_purge guarantees that all entries are reclaimed
for the provided record before exiting.
n_peak counter has been added, which provides the peak number
of items across all reclamation lists. n_reclamations provides
the number of reclamations across the lifetime of the record.
These are cleared on unregister.
ck_epoch_update has been renamed to ck_epoch_tick.
Hazardous sections which mutate shared structures are now
expected to begin with ck_epoch_write_begin and end with
ck_epoch_end.
Hazardous sections which read shared structures are now
expected to begin with ck_epoch_read_begin and end with
ck_epoch_end.
ck_hp_free is now more aggressive. It will attempt a
reclamation cycle any time the pending count is long.
I should probably add a ck_hp_retire to have a version
which allows for bulk updates to local reclamation lists.
14 years ago
Samy Al Bahra
492faed9a3
Reformatting changes for my new laptop.
14 years ago