mirror_zfs/include/os/linux/spl/sys
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
..
acl.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
atomic.h More aggsum optimizations 2021-06-09 13:05:34 -07:00
byteorder.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
callb.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
callo.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
cmn_err.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
condvar.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
cred.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
ctype.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
debug.h Microoptimizations for VERIFY() and friends 2021-03-11 17:16:09 -08:00
disp.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
dkio.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
errno.h Move platform dependent errno aliases 2019-10-25 13:40:50 -07:00
fcntl.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
file.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
inttypes.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
isa_defs.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
kmem_cache.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
kmem.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
kstat.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
list.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
Makefile.am Introduce write-mostly sums 2021-06-09 13:05:34 -07:00
mod_os.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
mutex.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
param.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
proc.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
processor.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
procfs_list.h FreeBSD: Add support for procfs_list 2020-09-23 16:43:51 -07:00
random.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
rwlock.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
shrinker.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
sid.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
signal.h Add SIGSTOP and SIGTSTP handling to issig 2021-04-19 15:12:33 -07:00
simd.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
stat.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
strings.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
sunddi.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
sysmacros.h Introduce CPU_SEQID_UNSTABLE 2020-11-02 11:51:12 -08:00
systeminfo.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
taskq.h Implement memory and CPU hotplug 2020-12-10 14:09:23 -08:00
thread.h Add SIGSTOP and SIGTSTP handling to issig 2021-04-19 15:12:33 -07:00
time.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
timer.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
trace_spl.h Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
trace_taskq.h Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
trace.h Add prototypes 2020-06-18 12:21:32 -07:00
tsd.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
types32.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
types.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
uio.h Cleaning up uio headers 2021-02-20 20:16:50 -08:00
user.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vfs.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vmem.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vmsystm.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
vnode.h Consolidate zfs_holey and zfs_access 2020-10-31 09:40:08 -07:00
wait.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
wmsum.h Introduce write-mostly sums 2021-06-09 13:05:34 -07:00
zmod.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
zone.h Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00