mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
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
This commit is contained in:
@@ -2028,21 +2028,6 @@ Max vdev I/O aggregation size.
|
||||
.It Sy zfs_vdev_aggregation_limit_non_rotating Ns = Ns Sy 131072 Ns B Po 128 KiB Pc Pq uint
|
||||
Max vdev I/O aggregation size for non-rotating media.
|
||||
.
|
||||
.It Sy zfs_vdev_cache_bshift Ns = Ns Sy 16 Po 64 KiB Pc Pq uint
|
||||
Shift size to inflate reads to.
|
||||
.
|
||||
.It Sy zfs_vdev_cache_max Ns = Ns Sy 16384 Ns B Po 16 KiB Pc Pq uint
|
||||
Inflate reads smaller than this value to meet the
|
||||
.Sy zfs_vdev_cache_bshift
|
||||
size
|
||||
.Pq default Sy 64 KiB .
|
||||
.
|
||||
.It Sy zfs_vdev_cache_size Ns = Ns Sy 0 Pq uint
|
||||
Total size of the per-disk cache in bytes.
|
||||
.Pp
|
||||
Currently this feature is disabled, as it has been found to not be helpful
|
||||
for performance and in some cases harmful.
|
||||
.
|
||||
.It Sy zfs_vdev_mirror_rotating_inc Ns = Ns Sy 0 Pq int
|
||||
A number by which the balancing algorithm increments the load calculation for
|
||||
the purpose of selecting the least busy mirror member when an I/O operation
|
||||
|
||||
@@ -456,7 +456,6 @@ ZIO_FLAG_CANFAIL:0x00000080
|
||||
ZIO_FLAG_SPECULATIVE:0x00000100
|
||||
ZIO_FLAG_CONFIG_WRITER:0x00000200
|
||||
ZIO_FLAG_DONT_RETRY:0x00000400
|
||||
ZIO_FLAG_DONT_CACHE:0x00000800
|
||||
ZIO_FLAG_NODATA:0x00001000
|
||||
ZIO_FLAG_INDUCE_DAMAGE:0x00002000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user