zfs/lib/libspl
Alexander Motin e76373de7b More aggsum optimizations
- Avoid atomic_add() when updating as_lower_bound/as_upper_bound.
Previous code was excessively strong on 64bit systems while not
strong enough on 32bit ones.  Instead introduce and use real
atomic_load() and atomic_store() operations, just an assignments
on 64bit machines, but using proper atomics on 32bit ones to avoid
torn reads/writes.

 - Reduce number of buckets on large systems.  Extra buckets not as
much improve add speed, as hurt reads.  Unlike wmsum for aggsum
reads are still important.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #12145
2021-06-09 13:05:34 -07:00
..
asm-generic More aggsum optimizations 2021-06-09 13:05:34 -07:00
asm-i386 Changes to make openzfs build within FreeBSD buildworld 2020-07-31 21:30:31 -07:00
asm-x86_64 Fixes for make dist 2020-06-26 14:20:02 -07:00
include More aggsum optimizations 2021-06-09 13:05:34 -07:00
os linux/libspl: gethostid: read from /proc/sys/kernel/spl/hostid, simplify 2021-04-19 15:22:57 -07:00
Makefile.am cppcheck: integrete cppcheck 2021-01-26 16:12:26 -08:00
assert.c Move libspl_assertf into .c file 2020-07-10 14:25:24 -07:00
list.c Fixing gang ABD child removal race condition 2020-07-14 11:04:35 -07:00
mkdirp.c Fix typos in lib/ 2019-09-02 17:53:27 -07:00
page.c ABD optimized page allocation code 2016-11-29 14:34:33 -08:00
strlcat.c Check for strlcat and strlcpy 2018-12-11 16:01:41 -08:00
strlcpy.c Check for strlcat and strlcpy 2018-12-11 16:01:41 -08:00
timestamp.c Always use "%lld" for formatting time_ts 2020-05-28 10:29:58 -07:00