Samy Al Bahra
19afbfb362
doc/ck_cohort: Fix style issue.
12 years ago
Samy Al Bahra
ab18c9d3c9
doc/ck_hs_destroy: Fix summary typo.
12 years ago
Samy Al Bahra
6d51ae712c
doc/ck_cohort: Various fixes to manual pages.
12 years ago
Samy Al Bahra
a5e127bbb8
doc/html: Do not generate section headers.
12 years ago
Samy Al Bahra
bbb375348c
doc: Add man2html target for website.
12 years ago
Samy Al Bahra
5186f1d50c
doc: Fix various groff/nroff warnings.
12 years ago
Samy Al Bahra
758db2f3ac
doc: Bd mismatch in ck_ht_stat.
12 years ago
Samy Al Bahra
e827557ee9
ck_hs: Whitespace change.
12 years ago
Samy Al Bahra
d6fefccd6e
ck_pflock: Update comment, implementation is not so naive now.
12 years ago
Samy Al Bahra
19d1aa501f
build: Prepare version for next release.
12 years ago
Samy Al Bahra
72aa172de0
Bump version for next release.
12 years ago
Samy Al Bahra
34a5bf4266
regressions/ck_cohort: Whitespace cleanup.
12 years ago
Samy Al Bahra
676f8fed88
Merge branch 'cohort_trylock' of git://github.com/bscheinman/ck
12 years ago
Samy Al Bahra
5c90d917f7
regressions/ck_ring: More improvements and _size coverage.
...
SPMC path exercises random delays. Coverage exists for
the new *_enqueue_*_size
12 years ago
Samy Al Bahra
878b8e6321
ck_ring: Correct CK_RING_SPMC_ENQUEUE_SIZE typo.
12 years ago
Samy Al Bahra
67381af3c5
ck_ring: Expose *_size variants to type-specialized ck_ring.
...
Added:
- CK_RING_ENQUEUE_SPSC_SIZE
- CK_RING_ENQUEUE_SPMC_SIZE
12 years ago
Samy Al Bahra
45f648bd33
ck_ring: Add *_size_* ck_ring enqueue operations.
...
These variants of ck_ring_enqueue_* return the snapshot of queue
length with respect to the linearization point. This can be used to
extract ring size without incurring additional cacheline invalidation
overhead from the writer.
12 years ago
Samy Al Bahra
86884ed574
ck_fifo_mpmc: Fix NULL deference when re-using nodes.
...
If a FIFO entry is being re-used, it is possible for NULL
assignment to be triggered due to race with enqueue.
12 years ago
Samy Al Bahra
c4e50a193a
ck_fifo: Style fixes.
12 years ago
Brendon Scheinman
91ef0220c7
ck_cohort: Cleaned up documentation changes
12 years ago
Brendon Scheinman
6298e6f7b2
ck_cohort: Updated documentation to reflect trylock support
12 years ago
Brendon Scheinman
6441c90cfe
Merge branch 'master' of https://github.com/sbahra/ck
12 years ago
Brendon Scheinman
3c8728b214
ck_cohort: Added trylock support to cohort framework
12 years ago
Samy Al Bahra
4b9badd440
ck_cohort: Remove unnecessary whitespace.
12 years ago
Brendon Scheinman
78fbe93caa
ck_cohort: fixed regression tests to match new CK_COHORT_PROTOTYPE signature
12 years ago
Brendon Scheinman
aa37eed71c
ck_cohort: removed extraneous sentence from documentation
12 years ago
Brendon Scheinman
62c121f500
ck_cohort: Added example code to man page
12 years ago
Brendon Scheinman
d9dd6138ca
ck_cohort: added documentation to Makefile
12 years ago
Brendon Scheinman
ed5292546f
merged changes from main ck repo
12 years ago
Brendon Scheinman
d17805e39a
ck_cohort: added initial documentation
12 years ago
Samy Al Bahra
c393a97cb7
ck_pflock: Fix Copyright typo from original patch.
12 years ago
Samy Al Bahra
7e9a020abd
regressions: Add ck_pflock clean target.
12 years ago
Samy Al Bahra
f6a53fd9de
ck_cohort: First-cut implementation of generalized cohort interface.
...
This work was contributed by Brendon Scheinman. This work is based
off "Lock Cohorting: A General Technique for Designing NUMA Locks".
12 years ago
Brendon Scheinman
5914bbe2c2
ck_cohort: Moved locks to separate cachelines in throughput test
12 years ago
Brendon Scheinman
c4e3edfeac
Merge branch 'master' of https://github.com/sbahra/ck into cohort
12 years ago
Brendon Scheinman
caef3b4ac2
review: Final ck_cohort review changes
...
I changed the release state to use an enum instead of an unsigned int with #defines in order to make debugging easier. I also removed unnecessary atomic operations in the initializer function, and made some formatting fixes.
12 years ago
Brendon Scheinman
81a90e41a2
review: A couple more changes based on ck_cohort review
...
I added an extra argument to the CK_COHORT_INIT macro to allow users to specify custom pass limits
when using it. I also added a reference to the paper on which the cohort implementation was based.
12 years ago
Brendon Scheinman
0fdac3d1d4
whitespace: fixed alignment of macro in ck_cohort for 8-space tabs
12 years ago
Brendon Scheinman
803073b024
interface: Made ck_cohort interface more flexible for custom types
12 years ago
Brendon Scheinman
27d841d300
cleanup: Updated .gitignore to include ck_cohort benchmark binaries
12 years ago
Brendon Scheinman
44ea3a4688
review: First round of review changes
...
The constants and macros in ck_cohort.h didn't conform to CK naming conventions. Additionally, I was able to remove a lot of unnecessary atomic operations and memory fences, which reduced latency by 10-20% and increased throughput using ticket locks by nearly an order of magnitude.
12 years ago
Samy Al Bahra
060b922dc2
ck_pflock: Whitespace change.
...
Move acquire semantics comment block on read_unlock beneath
exit label.
12 years ago
Samy Al Bahra
aec2797d27
ck_pflock: Load acquire semantics are sufficient for read_unlock.
...
Also, make sure to implement acquire semantics if there are no
contending writers.
12 years ago
Samy Al Bahra
7ce276f5eb
regressions: Add ck_pflock to make check target.
12 years ago
Samy Al Bahra
54845bb8e7
ck_pflock: Phase-fair read-write lock implementation.
...
John Wittrock has contributed a phase-fair reader-writer
lock implementation. These locks allow phase fairness
guarantees between readers and writers. This work includes
additional changes and clean-up.
Follow-up work is expected.
Thanks to John Wittrock for patches and Professor Gabriel
Parmer (http://www.seas.gwu.edu/~gparmer/ ) for advising.
12 years ago
Brendon Scheinman
e06b4a26ff
cleanup: Removed unnecessary code copied from ck_spinlock's throughput test
12 years ago
Brendon Scheinman
2492f16ec9
whitespace: Added missing space to usage message
12 years ago
Brendon Scheinman
c6cd9e5be8
testing: Added throughput test for ck_cohort
12 years ago
Brendon Scheinman
2cb79b0658
testing: Added latency test for ck_cohort
12 years ago
Samy Al Bahra
7d3fd9d227
ck_fifo: Get rid of load_depends usage for now.
...
Until a target pops up with a requirement for load_depends(),
the cost is not worth it for now.
12 years ago