Samy Al Bahra
a6861b6add
build/ck.build.s390x: Explicitly define s390x.
...
This is sticking to the idiom in Concurrency Kit, to safe-guard against
freestanding (or non-Linux) targets with different conventions.
8 years ago
Samy Al Bahra
8b617bb728
ck_pr: add support for s390x.
...
Add s390x support. Neale Ferguson is the architecture maintainer.
8 years ago
Samy Al Bahra
8343bd4af8
spinlock/dec: backoff until lock state transition in lock_eb.
...
This fixes an issue caught by Changwoo Min (@multics69).
8 years ago
Neale Ferguson
52809f0039
Minor editorial updates and update CFLAGS for production use
8 years ago
Neale Ferguson
2c01ecec64
Add s390x support
8 years ago
Olivier Houchard
33e5698b01
configure: Add support for msys2.
...
Recognize msys2 systems, based on a patch provided in issue #96 by
ckkashyap.
8 years ago
Samy Al Bahra
6b141c0bdd
build: prepare 1.0.0 tag.
8 years ago
Samy Al Bahra
362f58e6b6
regressions: update ck_epoch usage.
8 years ago
Samy Al Bahra
db4554c686
regressions: update ck_epoch usage.
8 years ago
Samy Al Bahra
0ce7c1efef
ck_epoch: remove overzealous padding.
...
Pack shared linkage together in epoch record. Remove unnecessary
padding in epoch instance.
8 years ago
Samy Al Bahra
123c91a62f
epoch: update delref prototype.
8 years ago
Samy Al Bahra
87196ff37f
Merge pull request #93 from concurrencykit/res
...
ck_epoch: merge in res branch.
8 years ago
Samy Al Bahra
ffe9cbf9ca
ck_epoch: ck_epoch_end returns true if forward progress has been made.
8 years ago
Samy Al Bahra
6a9da5c91d
ck_epoch: add epoch_value to return current global epoch.
8 years ago
Samy Al Bahra
8391338299
regressions/ck_epoch: fix up message.
8 years ago
Samy Al Bahra
cce21287fe
ck_epoch_call: basic coverage for call_strict.
8 years ago
Samy Al Bahra
ec2d225324
ck_epoch: add barrier_wait operation.
8 years ago
Samy Al Bahra
8580ccc580
ck_epoch: introduce synchronize_wait that allows blocking synchronize operation.
8 years ago
Samy Al Bahra
a25e073a2b
ck_epoch: allow record sharing and reentrancy for write-side operations.
8 years ago
Samy Al Bahra
8c12481577
regressions/ck_epoch: n_dispatch is now unsigned int.
8 years ago
Samy Al Bahra
64ac40ab64
ck_epoch: there is no need to update record epoch for synchronize.
...
This is in preparation for upcoming work for allowing record sharing.
The write-side operations rely only on global state. Future work, we can play
tricks by caching latest call epoch while still building on the core EBR
concept.
8 years ago
Samy Al Bahra
77fc933229
regressions/epoch/torture: include synchronize latency.
8 years ago
Samy Al Bahra
f8d5022030
configure: do not rely on pathsearch if full executable path provided.
...
This issue was pointed out by Mark Callaghan. Fixes #90 .
8 years ago
Samy Al Bahra
24d26965d1
regressions/ck_epoch_section_2: Force exit after timer.
8 years ago
Samy Al Bahra
343246d377
build: release 0.6.0.
8 years ago
Samy Al Bahra
d24fc277ad
epoch: fix idle detection bug in synchronize.
...
An idle grace period requires all threads to be idle. This optimization
introduced a regression with idle detection if subset of threads are
both active and idle. Unfortunately, none of our test machines detected
the problem.
This issue was reported by Julie Zhao <julie.zhao@sparkpos....>
8 years ago
Olivier Houchard
255a47553a
Merge pull request #88 from akopytov/benchmarks
...
Add benchmarks for ck_pr_add_64(), ck_pr_faa_64() and ck_pr_neg_64().
8 years ago
Alexey Kopytov
696ae6e995
Add benchmarks for ck_pr_add_64(), ck_pr_faa_64() and ck_pr_neg_64().
8 years ago
Olivier Houchard
d8d5b01a1a
Merge pull request #87 from akopytov/aarch64_timer
...
Add AArch64 timer support to rdtsc().
8 years ago
Alexey Kopytov
ab8f2b0344
Add AArch64 timer support to rdtsc().
...
Add support for RDTSC-like timer on AArch64. This is only used by the
internal regression/benchmark test suite.
8 years ago
Olivier Houchard
4a028fb517
Merge pull request #86 from akopytov/lse
...
AArch64 LSE support.
8 years ago
Alexey Kopytov
5f1be5dc83
AArch64 LSE support.
...
Add a new configure option, --enable-lse, which is only effective for
the AArch64 architecture. When used, most ck_pr_* atomics will use Large
System Extensions instructions as per the ARMv8.1 specification, rather
then LL/SC instruction pairs.
8 years ago
Olivier Houchard
dae84bac06
ck_pr/aarch64: style.
8 years ago
Olivier Houchard
4425c94ef7
ck_pr/aarch64: Don't forget the "cc" and "memory" clobbers.
8 years ago
Olivier Houchard
02af290b85
ck_pr: Add an option to disable any double function
8 years ago
Olivier Houchard
566bb28dba
Merge pull request #84 from hbowden/master
...
Add cygwin support.
8 years ago
Harry
92dfe0726c
Add cygwin support.
8 years ago
Olivier Houchard
2868848a2f
ck_pr/ppc: Get the right prototype for ck_pr_cas_ptr_value().
8 years ago
Olivier Houchard
5ae12a19d0
gcc/ck_pr: Try to make sure the compiler isn't unhappy about constness.
8 years ago
Olivier Houchard
1c9257af77
ck_pr: missed a few occurrences of stdbool.h that should be ck_stdbool.h.
8 years ago
Olivier Houchard
2159452170
ck_pr/aarch64: Use the right asm constraints.
...
We don't have to claim we will read the value from variables when we do not,
this was only done to work around a bug on some versions of gcc for arm
a while ago, hopefully this won't be needed here.
This should fix the (harmless) warnings described in issue #83 .
8 years ago
Olivier Houchard
7c456ca778
ck_pr/aarch64: That should be CK_PR_AARCH64_H, not CK_PR_ARM_H
8 years ago
Olivier Houchard
92aabcade0
ck_pr: First cut at an aarch64 native implementation.
...
This seems to survive a "make check" on a 48 cores arm64 board.
8 years ago
Olivier Houchard
1b461ca57a
regressions/ck_spinlock: Add ck_hclh to the check target.
8 years ago
Olivier Houchard
2552550256
regressions/ck_hp: Make sure stores are visible before attempting CAS.
8 years ago
Olivier Houchard
5530535f2a
doc: enfores => enforces
8 years ago
Olivier Houchard
9c072391cf
ck_pr/arm : We never defined CK_PR_CAS_S, so there's no need to undef it.
8 years ago
Samy Al Bahra
e9e45034f3
Merge pull request #82 from iamthebot/master
...
use __restrict__ under GCC to support both C++ and C
8 years ago
Samy Al Bahra
d113d23def
build: Bump version for release.
8 years ago
alfredo
bc594bf809
use __restrict__ under GCC to support both C++ and C
8 years ago