freebsd-nq/include
Alexander Motin ea400129c3
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-07 09:02:47 -07:00
..
os More aggsum optimizations 2021-06-07 09:02:47 -07:00
sys More aggsum optimizations 2021-06-07 09:02:47 -07:00
.gitignore OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
cityhash.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
libnvpair.h Add JSON output support to channel programs 2018-03-19 12:40:58 -07:00
libuutil_common.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
libuutil_impl.h libuutil: purge unused functions 2021-04-12 09:32:43 -07:00
libuutil.h libuutil: purge unused functions 2021-04-12 09:32:43 -07:00
libzfs_core.h zfs label bootenv should store data as nvlist 2020-09-15 15:42:27 -07:00
libzfs.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
libzfsbootenv.h zfs label bootenv should store data as nvlist 2020-09-15 15:42:27 -07:00
libzutil.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
Makefile.am libzfs: don't distribute libzfs_impl.h 2021-06-03 13:17:35 -07:00
thread_pool.h Add libtpool (thread pools) 2017-08-09 15:31:08 -07:00
zfeature_common.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
zfs_comutil.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
zfs_deleg.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
zfs_fletcher.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
zfs_namecheck.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00
zfs_prop.h libzfs: convert to -fvisibility=hidden 2021-06-03 13:17:55 -07:00