]> 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)
committerGitHub <noreply@github.com>
Tue, 7 Nov 2023 19:35:40 +0000 (11:35 -0800)
commit58398cbd035116ba1d5756bae338664573e60d21
tree37641313dbf5ec007835e9d284f3488234b66410
parente36ff84c338d2f7b15aef2538f6a9507115bbf4a
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