Samy Al Bahra
d29481a269
doc/ck_tflock: Remove elision reference.
11 years ago
Samy Al Bahra
f66a5984b0
gitignore: Add ck_tflock to gitignore.
11 years ago
Samy Al Bahra
629495d0e0
doc: Add ck_tflock manual page.
11 years ago
Samy Al Bahra
cd17fed7dc
ck_pflock: Migrate to acquire / release fences.
11 years ago
Samy Al Bahra
fa7ab0760d
ck_rhs: Remove inline from put_internal.
11 years ago
Samy Al Bahra
24989a3b29
regressions: Add ck_swlock to make check target.
11 years ago
Samy Al Bahra
f3194b6ecc
Merge branch 'ck_swlock'
11 years ago
Samy Al Bahra
6b2f5130f7
ck_swlock: Whitespace changes.
11 years ago
Wez Furlong
9c6b95c4dc
add --with(out)?-pic configure options
...
This makes configure smell more like standard configure scripts and
easier for larger build systems to control the nature of the build.
When building non-pic, don't build the shared object, as a non-pic
shared object doesn't make a huge amount of sense.
11 years ago
Wez Furlong
26e4c27578
Set install_name to full path on OSX
...
When building and installing to a non-standard directory on OSX (for
example: when testing multiple versions of CK) it is desirable for
clients of CK to have the install_name match the installed location,
otherwise they need to resort to setting DYLD_LIBRARY_PATH to pick up
the library.
11 years ago
Jaidev Sridhar
822a3e498e
regressions: Remove ck_swlock_read_latchlock() from benchmarks
11 years ago
Jaidev Sridhar
2950565037
ck_swlock: Fix regressions
11 years ago
Jaidev Sridhar
11f79b64f7
ck_swlock: cleanup
11 years ago
Jaidev Sridhar
7a9d70b59c
ck_swlock: Update regressions
11 years ago
Jaidev Sridhar
d95c609090
Merge remote-tracking branch 'upstream/swlock' into ck_swlock
11 years ago
Jaidev Sridhar
b70a5479ca
ck_swlock: snapshot
11 years ago
Samy Al Bahra
217f7a2f32
ck_swlock: Load spin on write bit.
11 years ago
Samy Al Bahra
4d7f4fff6d
ck_swlock: Fix latch operation.
11 years ago
Samy Al Bahra
bbad068f5a
ck_swlock: Make latch operation write-biased.
11 years ago
Samy Al Bahra
e2f7df0f1d
ck_swlock: Various improvements.
...
- Remove recursive locks.
- Remove unnecessary fences.
- Add necessary fences.
- Simplify state machine.
11 years ago
Samy Al Bahra
66aee95dd1
Merge branch 'ck_swlock' of github.com:skjaidev/ck into swlock
...
Conflicts:
regressions/Makefile
11 years ago
Jaidev Sridhar
c246865ce7
ck_swlock: Removed comment
11 years ago
Jaidev Sridhar
4471ea2df8
ck_swlock: Acquire semantics
11 years ago
Jaidev Sridhar
e6feed1f89
ck_swlock: Rename lock field
11 years ago
Jaidev Sridhar
0f44d50e33
ck_swlock: Use single word for lock bits
11 years ago
Samy Al Bahra
411afc3c47
*lock: Simplify initialization semantics.
...
Compiler barrier used for backwards compatibility.
11 years ago
Samy Al Bahra
f3539396c2
*lock: Simply use compiler barrier on initialization.
11 years ago
Samy Al Bahra
b24a9af88a
ck_pflock: Migrate initializer to use compiler barrier.
11 years ago
Samy Al Bahra
901310450d
regressions: Add ck_tflock_init coverage.
11 years ago
Samy Al Bahra
722f526a0e
ck_tflock: Remove extraneous newline.
11 years ago
Samy Al Bahra
15dd1b1d7f
regressions: Add ck_tflock build targets.
11 years ago
Samy Al Bahra
0b3ea63daf
regressions: Add ck_tflock tests to top-level Makefile.
11 years ago
Samy Al Bahra
46042c7996
tflock: Task-fair reader-writer locks reference implementation.
11 years ago
Jaidev Sridhar
9ee4334e10
Merge remote-tracking branch 'upstream/master' into ck_swlock
...
Conflicts:
.gitignore
11 years ago
Jaidev Sridhar
15a0485c01
ck_swlock: make ck_swlock_recursive_write_unlatch() wait-free.
11 years ago
Samy Al Bahra
3d6bd14e60
regressions: Fix function declaration for ck_bitmap test.
11 years ago
Samy Al Bahra
c657c01a8b
ck_rwlock: Remove debug optimization level.
11 years ago
Samy Al Bahra
d006f95e9b
Merge pull request #4 from pkhuong/bitmapery
11 years ago
Samy Al Bahra
ca70ce684c
ck_swlock: Unlatch operation should be wait-free.
11 years ago
Jaidev Sridhar
27a79623a6
ck_swlock: Need to lock cache-line on write lock
11 years ago
Jaidev Sridhar
207194359f
ck_swlock: Convert ELIDE tests to single writer
11 years ago
Jaidev Sridhar
0ee31c1557
ck_swlock: Need barrier
11 years ago
Jaidev Sridhar
c7dc66bf0c
ck_swlock: Validation for normal write lock
11 years ago
Jaidev Sridhar
bf8779ab13
ck_swlock: Decrement n_readers in TATAS style loop.
11 years ago
Jaidev Sridhar
3412f135df
ck_swlock: Fix makefile
11 years ago
Jaidev Sridhar
8646990847
Merge remote-tracking branch 'jsridhar-dev/ck_swlock' into ck_swlock
...
Conflicts:
include/ck_swlock.h
regressions/ck_swlock/validate/validate.c
11 years ago
Jaidev Sridhar
1f03809acb
ck_swlock: We shouldn't decrement n_readers when
...
ck_swlock_read_latchlocks observers a writer if the unlatch
operation sets n_readers to 0.
The unlatch operation now just unsets the latch bit, we can safely
decrement n_readers in ck_swlock_read_latchlocks().
+ Fixes to validation tests & ELIDE coverage.
11 years ago
Paul Khuong
4ea2a0e739
gitignore: add regressions/ck_spinlock/validate/ck_hclh
...
and sort regressions/ noise alphabetically.
11 years ago
Paul Khuong
f06a5c4a71
ck_bitmap: more bulk operations, less space, more tests
...
* new bulk rmw: intersection, intersection_negate (with complement),
* new bulk reads: empty, full, count, count_intersect
* ck_bitmap_iterator fixes: avoid out of bounds read on empty bitmaps,
and ck_bitmap_next is marginally faster on sparse bitmaps .
* less space: the bitmap itself is an array of unsigned int, which
eliminates alignment padding between the n_bit field and the bitmap.
* more unit tests.
11 years ago
Paul Khuong
96fdf1efbd
ck_cc: new bitwise ops
...
GCC and compatible compilers support ffs/ctz/clz/popcount. Expose that
in ck_cc and default to slow but portable software emulation.
11 years ago