Samy Al Bahra
27d454248d
ck_spinlock: Add ticket lock with trylock operation.
...
Upon popular request, added a variant of the ticket spinlock
with trylock support. This is pending additional verification
on other architectures besides x86*. It is still unclear whether
this implementation will be the default as it is has slower
fast path.
Add trylock support to the ck_spinlock validation tests.
It currently only tests ck_spinlock_ticket_t trylock
functionality if available.
12 years ago
Brendon Scheinman
59cc30b671
testing: ck_cohort validation
...
The ck_cohort validation test had an error that would cause an uneven distribution of threads among cohorts when the affinity delta was set above 1.
12 years ago
Brendon Scheinman
d5c05309b4
cleanup: ck_cohort validation test
...
Removed unnecessary includes and fixed shadowed variable warning.
12 years ago
Brendon Scheinman
0a826ca93b
gitignore: Removed ck_cohort validation binary from git
12 years ago
Brendon Scheinman
dbe49215ac
testing: Added validation test for cohorts.
12 years ago
Brendon Scheinman
140256179c
Merge branch 'master' of https://github.com/sbahra/ck into cohort
12 years ago
David Joseph
10c3b22e48
Merge remote-tracking branch 'upstream/master'
...
Fix regressions for linux systems.
12 years ago
Samy Al Bahra
aef827b5a3
regressions: Remove unnecessary include.
12 years ago
Samy Al Bahra
81b9313e10
build: Fix regression introduced by MingW32 port.
12 years ago
Brendon Scheinman
6cf5cc46b3
Removed (what I think is) an unnecessary memory fence
12 years ago
Brendon Scheinman
9fe741ea12
added acquire count logic and some comments
12 years ago
Brendon Scheinman
3581a01fdf
Initial attempt at cohort logic (still untested)
12 years ago
David Joseph
8f1c31aa2c
Style changes to common.h's alarm macros.
12 years ago
David Joseph
3e469d7fb5
Namespace changes to regressions/common.h (alarm).
...
Add "local_name" to COMMON_ALARM_DECLARE_LOCAL and
COMMON_ALARM_DECLARE_INIT to avoid namespace conflicts.
12 years ago
Samy Al Bahra
8f41949632
build: No need to rely on grep for simple glob pattern.
12 years ago
Samy Al Bahra
3a85d746fa
build/configure: Add comment to test C program.
12 years ago
Samy Al Bahra
9c298fc78b
whitespace: Remove unnecessary newline.
12 years ago
David Joseph
1298a6c335
Add support for MinGW32.
...
This primarily involved changing the configure script and adding
several utility functions to regressions/common.h for unit testing.
Signed-off-by: Samy Al Bahra <sbahra@appnexus.com>
12 years ago
Samy Al Bahra
9152cc7cea
regressions/ck_hp_fifo_donner: This was submitted from a Windows editor.
...
Switch to using UNIX EOL.
12 years ago
Samy Al Bahra
c6ff128510
ck_hs: Move replacement comment to ck_hs_set.
12 years ago
Samy Al Bahra
8bad50240d
ck_hs: Eliminate pointless legacy branch.
12 years ago
Samy Al Bahra
9bc61711d7
git: Ignore additional files.
12 years ago
Joao Fernandes
086ebf7126
ck_pr: moving PPC32 to RMO.
...
Signed-off-by: Joao Fernandes <mail@joaofernandes.eu>
12 years ago
Samy Al Bahra
8c53de1e70
ck_rwlock: Add documentation on visibility semantics.
12 years ago
Samy Al Bahra
1ea5769fd4
ck_rwlock: Improve code legibility.
12 years ago
Samy Al Bahra
334b15e6e0
ck_bytelock: Acquire semantics on read.
12 years ago
Samy Al Bahra
038b3d816d
ck_rwlock: Forgot to add acquire on operation success.
12 years ago
Samy Al Bahra
bdadd7bf6b
whitespace: More style fixes.
12 years ago
Samy Al Bahra
0598307186
whitespace: Various style changes.
12 years ago
Samy Al Bahra
b4e9045c9b
ck_barrier_tournament: Remove old/stale comments.
...
ck_pr_load is unnecessary. It is assumed a strong fence follows
initialization (through thread creation boundary, for example
or explicit IPI).
12 years ago
Samy Al Bahra
7c56d73433
ck_barrier_mcs: Style clean-up.
12 years ago
Samy Al Bahra
507ac1322c
build: Install ck_md.h to correct path.
12 years ago
Samy Al Bahra
75a6372c5f
build: Fix typo.
12 years ago
Samy Al Bahra
dea255ce14
build: Prefer sed over expr for value expansion.
12 years ago
Samy Al Bahra
4182f9df38
build: Re-order BUILD_DIR/SRC_DIR output.
12 years ago
Samy Al Bahra
7b3b7265be
build: Bump version for next release.
12 years ago
Samy Al Bahra
b95cc24293
git: Ignore additional files.
12 years ago
Samy Al Bahra
e937f6176e
build: Add out-of-source archive support.
12 years ago
Samy Al Bahra
1f187594ed
build: Differentiate out-of-source builds for regressions.
12 years ago
Samy Al Bahra
f9a484a10d
build: Disclaimer that regressions are unsupported for out-of-source builds.
12 years ago
Samy Al Bahra
3587d8e51b
build: Remove debug left-over.
12 years ago
Samy Al Bahra
e6e97f3ae5
build: Out-of-source builds for primary CK distribution.
...
Out of source regressions target still needs additional work
(because it's not there).
12 years ago
Samy Al Bahra
1a0b4122ec
ck_hs: Re-use tombstones near load factor.
...
This is similar to the set of changes done to ck_ht.
In addition to this, a bug was caught were minimal
probe sequence was based on last rather than first
tombstone observed.
This hashset will now face long-running bursty
write -> delete -> write workloads much more effectively
and includes significant performance improvements for
delete heavy workloads (at least 2x measured).
12 years ago
Samy Al Bahra
2116dfee3c
ck_ht: Increment n_entries on empty and tombstone insertions.
12 years ago
Samy Al Bahra
9a0d97c6ef
ck_ht: Set previous entry to empty on tombstone insert.
12 years ago
Samy Al Bahra
452cab1ef6
ck_ht: Return snapshot of object IFF we are not at end of probe sequence.
12 years ago
Samy Al Bahra
5a4dc765d8
ck_ht: Remember to set cursor to NULL on probe end.
12 years ago
Samy Al Bahra
1631f2ff84
ck_ht: Enable aggressive re-use of tombstones.
...
Previously, a probe to an empty slot was necessary in order
to avoid hash table growth. As long as a tombstone is available,
re-use it. This prevents excessive growth on workloads involving
long bursts of writes (near 0.5 load factor) followed by long
bursts of deletes.
12 years ago
Samy Al Bahra
3de1f23d74
build: Support all *=* forms.
12 years ago
Samy Al Bahra
e1e6d52e5b
build: Various improvements to configure script.
...
Add explicit detection of clang, prefer SUNCC detection over
GCC and also add support for out of source builds.
12 years ago