]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Remove pool io kstats
authorAlexander Motin <mav@FreeBSD.org>
Thu, 10 Jun 2021 15:27:33 +0000 (11:27 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 10 Jun 2021 17:50:16 +0000 (10:50 -0700)
commitefdfb14fc8c9b847c4758ea12842d82e79c40d5d
treed6139849332ca34f52c7868e88d1a400ca42c3ab
parent2e158b0e0b0bc0375b85a7db64e6f3213f0a6dc0
Remove pool io kstats

This mostly reverts "3537 want pool io kstats" commit of 8 years ago.

From one side this code using pool-wide locks became pretty bad for
performance, creating significant lock contention in I/O pipeline.
From another, there are more efficient ways now to obtain detailed
statistics, while this statistics is illumos-specific and much less
usable on Linux and FreeBSD, reported only via procfs/sysctls.

This commit does not remove KSTAT_TYPE_IO implementation, that may
be removed later together with already unused KSTAT_TYPE_INTR and
KSTAT_TYPE_TIMER.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #12212
include/os/freebsd/spl/sys/kstat.h
include/os/linux/spl/sys/kstat.h
include/sys/spa.h
include/sys/zfs_context.h
lib/libspl/include/sys/kstat.h
lib/libzpool/kernel.c
module/os/freebsd/spl/spl_kstat.c
module/os/linux/spl/spl-kstat.c
module/zfs/spa_stats.c
module/zfs/vdev_queue.c