]> git.proxmox.com Git - mirror_zfs.git/commit
FreeBSD: Optimize large kstat outputs
authorAlexander Motin <mav@FreeBSD.org>
Tue, 7 Nov 2023 19:35:40 +0000 (14:35 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 9 Jan 2024 00:11:39 +0000 (16:11 -0800)
commitf13593619b074dff63f6940d32033d2f147166e3
treeb000340fed3f6b3b179d6d98a00df87336bcf938
parentc34fe8dcbcb710081d8927b76bab06dd43c20c8c
FreeBSD: Optimize large kstat outputs

- Use sbuf_new_for_sysctl() to reduce double-buffering on sysctl
output.
- Use much faster sbuf_cat() instead of sbuf_printf("%s").

Together it reduces `sysctl kstat.zfs.misc.dbufs` time from minutes
to seconds, making dbufstat almost usable.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15495
module/os/freebsd/spl/spl_kstat.c