You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Paul Khuong
e18fba64ec
gcc/x86{,_64}/ck_pr: improve codegen for compare-and-swap, particularly on GCC6+
...
1. For ck_pr_cas_foo_value, let the inline assembly save the observed
value in a register, and store to the output reference in C.
This lets the C optimiser eliminate the memory access once the
CAS function is inlined.
2. Specify the result of the CAS as a condition code in EFLAGS instead
of executing SETcc in inline assembly, when possible. GCC gained
this functionality in GCC 6; CAS loops can now directly branch on
the condition code, without SETcc / TEST.
TESTED=existing regression tests.
5 years ago
..
freebsd
ck_cc: add a disable builtin flag for the FreeBSD kernel.
7 years ago
gcc
gcc/x86{,_64}/ck_pr: improve codegen for compare-and-swap, particularly on GCC6+
5 years ago
spinlock
spinlock/fas: improve codegen for the uncontended path
5 years ago
ck_array.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_backoff.h
whitespace: Strictly conform to C namespacing rules.
10 years ago
ck_barrier.h
whitespace: Strictly conform to C namespacing rules.
10 years ago
ck_bitmap.h
ck_bitmap: Use CK_BITMAP_OFFSET.
9 years ago
ck_brlock.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_bytelock.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_cc.h
ck_cc: add a disable builtin flag for the FreeBSD kernel.
7 years ago
ck_cohort.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_ec.h
ck_ec: event count with optimistic OS-level blocking ( #133 )
6 years ago
ck_elide.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_epoch.h
ck_epoch: introduce ck_epoch_deferred
7 years ago
ck_fifo.h
ck_fifo: return fifo->garbage at spsc deinit ( #146 )
5 years ago
ck_hp.h
ck_hp: Implement ck_hp_set_fence.
10 years ago
ck_hp_fifo.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_hp_stack.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_hs.h
ck_hs: add ck_hs_next_spmc
7 years ago
ck_ht.h
ck_ht: ck_hm not making it to next release, remove warning.
9 years ago
ck_limits.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_malloc.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_md.h.in
ck_pr: use sync instead of lwsync on ppc32 by default
6 years ago
ck_pflock.h
ck_*lock: Migrate all locking primitives to lock / unlock.
10 years ago
ck_pr.h
Implement ck_pr_dec_is_zero family of functions ( #115 )
7 years ago
ck_queue.h
ck_queue: add CK_SLIST_INSERT_PREVPTR and CK_SLIST_REMOVE_PREVPTR
6 years ago
ck_rhs.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_ring.h
ck_ring: ck_ring_valid should reject wrap-around.
5 years ago
ck_rwcohort.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_rwlock.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_sequence.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_spinlock.h
whitespace: Strictly conform to C namespacing rules.
10 years ago
ck_stack.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_stdbool.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_stddef.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_stdint.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_stdlib.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_string.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_swlock.h
ck: Reimplement a few libc headers, to make CK build when compiling in the
9 years ago
ck_tflock.h
ck_*lock: Migrate all locking primitives to lock / unlock.
10 years ago