]> git.proxmox.com Git - mirror_zfs.git/commit
Finally drop long disabled vdev cache.
authorAlexander Motin <mav@FreeBSD.org>
Fri, 9 Jun 2023 19:40:55 +0000 (15:40 -0400)
committerGitHub <noreply@github.com>
Fri, 9 Jun 2023 19:40:55 +0000 (12:40 -0700)
commit70ea484e3ec56c529c6c5027ffc43840100ce224
treed006081f0701728fe2b3a743cbd47e54e25fbac2
parent6db4ed51d6c2cd8ec6a3ad318118f7a0d6b6dfe8
Finally drop long disabled vdev cache.

It was a vdev level read cache, designed to aggregate many small
reads by speculatively issuing bigger reads instead and caching
the result.  But since it has almost no idea about what is going
on with exception of ZIO_FLAG_DONT_CACHE flag set by higher layers,
it was found to make more harm than good, for which reason it was
disabled for the past 12 years.  These days we have much better
instruments to enlarge the I/Os, such as speculative and prescient
prefetches, I/O scheduler, I/O aggregation etc.

Besides just the dead code removal this removes one extra mutex
lock/unlock per write inside vdev_cache_write(), not otherwise
disabled and trying to do some work.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #14953
20 files changed:
cmd/arc_summary
cmd/zdb/zdb.c
include/os/linux/kernel/linux/mod_compat.h
include/sys/spa.h
include/sys/vdev.h
include/sys/vdev_impl.h
include/sys/zio.h
lib/libzpool/Makefile.am
man/man4/zfs.4
man/man8/zpool-events.8
module/Kbuild.in
module/Makefile.bsd
module/os/freebsd/zfs/sysctl_os.c
module/zfs/arc.c
module/zfs/dmu_recv.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/vdev_cache.c [deleted file]
module/zfs/vdev_queue.c
module/zfs/zio.c