Samy Al Bahra
057f719796
ck_ring: Add type-specialized ring.
11 years ago
Samy Al Bahra
90c9950356
ck_ring: Type-agnostic backend implementation.
...
This will serve to drive both pointer-based and type-specialized ring
implementations. Some full fences have also been removed as they are
unnecessary with the introduction of X_Y fence interface.
11 years ago
Samy Al Bahra
92d662fa5e
ck_hs: Simplification of probe sequence limit.
11 years ago
Samy Al Bahra
2c2d7fab90
ck_hs: Tombstone probe limit modification is absolutely unnecessary.
...
Premature commit.
11 years ago
Samy Al Bahra
f769f842a4
regressions: Additional coverage for delete mode.
11 years ago
Samy Al Bahra
355bd611b4
ck_hs: Short-circuit more aggressively in put_unique.
11 years ago
Samy Al Bahra
afe696cc2f
ck_hs: Utilize probe bounds on write operations.
11 years ago
Samy Al Bahra
ec79ea0b2d
ck_hs: Use slot bound limit for ck_hs_fas operation.
11 years ago
Samy Al Bahra
cc3962d675
doc: Remove buffer language from ck_ring_init.
11 years ago
Samy Al Bahra
686a589ab4
doc: Update ck_ring_init type.
11 years ago
Samy Al Bahra
4af7571990
ck_pr/arm: Remove extraneous newline.
11 years ago
Samy Al Bahra
21fbfca37f
Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Samy Al Bahra
2dca67eae2
build: Bump up version for next release.
11 years ago
Olivier Houchard
259fb5174d
ck_pr: Use the "dmb st" instruction on arm when available.
11 years ago
Samy Al Bahra
9d159d89b0
doc: Add missing ck_ht_count cross-reference.
11 years ago
Samy Al Bahra
816584b7d1
doc: Add ck_ht_gc cross-references.
11 years ago
Samy Al Bahra
f6b36c9a69
doc: Fix up ck_hs_gc language.
11 years ago
Samy Al Bahra
68ef552527
doc: Add ck_ht_gc manual page.
11 years ago
Samy Al Bahra
b32e1b24df
ck_spinlock: Use more finely-grained barrier for CLH.
11 years ago
Samy Al Bahra
99d5f6c6ce
doc: Add ck_pr_rtm manual page.
11 years ago
Samy Al Bahra
72292afb2e
doc: Update ck_hs cross-references.
11 years ago
Samy Al Bahra
51e3af6dca
doc: Add ck_hs_gc manual page.
11 years ago
Samy Al Bahra
fbfb951f55
doc: Update ck_ht_init for CK_HT_WORKLOAD_DELETE.
11 years ago
Samy Al Bahra
fd9064c280
doc: Update ck_hs_init manual page for CK_HS_MODE_DELETE.
11 years ago
Samy Al Bahra
822b842d1e
ck_ht: Fix bug in ck_ht_gc and backport garbage collector improvements from ck_hs.
11 years ago
Samy Al Bahra
4e4c24ba63
regressions: Additional ck_hs_gc coverage.
11 years ago
Samy Al Bahra
e8969ad66f
ck_hs: More aggressive clean-up in ck_hs_gc.
...
* Reset maximum value when doing full scan.
* Reset per-slot bounds to 0 when possible.
11 years ago
Olivier Houchard
a2fa6e8bb3
doc: Correct HCLH function prototypes.
11 years ago
Samy Al Bahra
86ac63241a
doc: Update ck_ring manual pages.
11 years ago
Olivier Houchard
7fa88f8320
Merge branch 'master' of git.concurrencykit.org:ck
11 years ago
Olivier Houchard
61bb774b56
doc: Document hclh.
...
Proactive pointy hat to: cognet
11 years ago
Samy Al Bahra
207884f9e3
regressions: Coverage for ck_ht delete workload hint.
11 years ago
Samy Al Bahra
eb59f6ead5
ck_ht: Add CK_HT_WORKLOAD_DELETE flag.
...
This is a port of the hash set delete workload
hint.
11 years ago
Samy Al Bahra
b784a846cd
build: Remove unnecessary status indicator from configure.
...
Pointy hat to Olivier.
11 years ago
Samy Al Bahra
c4849aeaae
ck_epoch: Remove redundant e + 2 observation.
...
This inefficiency was introduced in the overhaul of
the ck_epoch API.
Synchronize is executed with respect to e. At e + 1,
references can only exist to objects logically deleted
at e or e + 1. At e + 2, however, references can only exist to
objects logically deleted at e + 1 and e + 2. In the case that a
thread observes an out of date epoch value, an increment to the
global epoch would fail as the active bit is ordered with respect
to the memory barrier in synchronize. In the case that a protected
section begins after the memory barrier, then it is guaranteed
to not acquire the hazardous reference.
This does not change granularity of deferral lists, however.
There is still a requirement of 3 deferral lists on the fast path
(4 in ck_epoch for fast path purposes) as at any moment, any given
deferral list for value e can contain references to objects with
active references from both e and e - 1.
11 years ago
Olivier Houchard
b17706f967
hclh: Assert my copyright.
11 years ago
Samy Al Bahra
2f2558b21b
build: Add spinlocks to install target.
11 years ago
Samy Al Bahra
df571ad331
ck_spinlock: Migrate lock implementations to directory.
11 years ago
Samy Al Bahra
1ecb37b28f
Merge branch 'cognet' of git.concurrencykit.org:ck
11 years ago
Olivier Houchard
0050e5bb4a
configure: Add a generic way to detect VMA bits.
...
In configure, when we're not running on a system that does provide the number
of virtual bits available, for x86_64, try to compile a program that uses
cpuid to get the information.
11 years ago
Samy Al Bahra
fdc2061935
regressions/ck_ring: Always treat buffer as opaque.
11 years ago
Samy Al Bahra
f9ae05b15a
regressions/ck_ring: Drop template variants.
11 years ago
Samy Al Bahra
b6a1914085
ck_ring: Prefer treatment of ck_ring_buffer_t as an opaque type.
11 years ago
Samy Al Bahra
b6f085a62e
ck_ring: Minor style change.
11 years ago
Samy Al Bahra
e6c0ef01a5
ck_spinlock: Revert previous change, do not splice too early.
11 years ago
Olivier Houchard
2b08211d60
regressions: Mark the core variable as unused, to appease the compiler.
11 years ago
Samy Al Bahra
e8b26ec212
ck_spinlock: Minor readability changes to ck_hclh.
11 years ago
Samy Al Bahra
c219593967
ck_spinlock: First round of improvements to ck_hclh.
...
* Drop unnecessary volatile stores.
* Use more expressive ck_pr_fence_X_Y semantics.
11 years ago
Samy Al Bahra
0e5ce1aae7
ck_spinlock: Simple whitespace changes (wrap long lines).
11 years ago
Olivier Houchard
0f92cbab08
ck_spinlock: Commit the missing HCLH bits.
11 years ago