mirror_zfs/lib/libspl/include/sys
Alexander Motin 85c43508f3 Introduce write-mostly sums
wmsum counters are a reduced version of aggsum counters, optimized for
write-mostly scenarios.  They do not provide optimized read functions,
but instead allow much cheaper add function.  The primary usage is
infrequently read statistic counters, not requiring exact precision.

The Linux implementation is directly mapped into percpu_counter KPI.
The FreeBSD implementation is directly mapped into counter(9) KPI.
In user-space due to lack of better implementation mapped to aggsum.

Unfortunately neither Linux percpu_counter nor FreeBSD counter(9)
provide sufficient functionality to completelly replace aggsum, so
it still remains to be used for several hot counters.

Reviewed-by: Paul Dagnelie <pcd@delphix.com>
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 #12114
2021-06-09 13:05:34 -07:00
..
dktp Drop unnecessary srcdir paths 2020-06-24 18:20:18 -07:00
acl_impl.h Add linux libspl support 2010-08-31 13:41:59 -07:00
acl.h Cross-platform acltype 2020-10-13 21:25:48 -07:00
callb.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
cmn_err.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
cred.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
debug.h Replace ASSERTV macro with compiler annotation 2019-12-05 12:37:00 -08:00
dkio.h Remove unnecessary references to slavery 2020-06-10 17:07:59 -07:00
dklabel.h Removed duplicated includes 2021-03-22 12:34:58 -07:00
feature_tests.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
int_limits.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
int_types.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
inttypes.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
isa_defs.h Changes to make openzfs build within FreeBSD buildworld 2020-07-31 21:30:31 -07:00
kmem.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
kstat.h Fix typos in lib/ 2019-09-02 17:53:27 -07:00
list_impl.h change libspl list member names to match kernel 2020-04-23 15:53:14 -07:00
list.h Add linux libspl support 2010-08-31 13:41:59 -07:00
Makefile.am Introduce write-mostly sums 2021-06-09 13:05:34 -07:00
mhd.h Add linux libspl support 2010-08-31 13:41:59 -07:00
mkdev.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
policy.h Illumos 3897 - zfs filesystem and snapshot limits 2015-04-28 16:22:51 -07:00
poll.h Fix header inclusions for standards conformance 2017-04-12 08:58:09 -07:00
priv.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
processor.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
sha2.h Move sha2.h to platform code 2019-10-31 15:45:58 -07:00
simd.h FreeBSD: Fixes required to build ZFS on PowerPC 2020-07-25 11:00:23 -07:00
stack.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
stdtypes.h Update build system and packaging 2018-05-29 16:00:33 -07:00
strings.h Update build system and packaging 2018-05-29 16:00:33 -07:00
stropts.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
sunddi.h Add linux libspl support 2010-08-31 13:41:59 -07:00
systeminfo.h Add libtpool (thread pools) 2017-08-09 15:31:08 -07:00
time.h Linux 5.6 compat: time_t 2020-02-27 09:31:02 -08:00
trace_spl.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
trace_zfs.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
types32.h Update build system and packaging 2018-05-29 16:00:33 -07:00
types.h Update build system and packaging 2018-05-29 16:00:33 -07:00
tzfile.h Add linux libspl support 2010-08-31 13:41:59 -07:00
uio.h Extending FreeBSD UIO Struct 2021-01-20 21:27:30 -08:00
va_list.h Replace __va_list with va_list 2014-08-13 10:35:00 -07:00
varargs.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vnode.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
vtoc.h Fix typos in lib/ 2019-09-02 17:53:27 -07:00
wmsum.h Introduce write-mostly sums 2021-06-09 13:05:34 -07:00
zone.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00