diff options
author | Alexander Motin <[email protected]> | 2023-06-09 15:40:55 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2023-06-09 12:40:55 -0700 |
commit | 70ea484e3ec56c529c6c5027ffc43840100ce224 (patch) | |
tree | d006081f0701728fe2b3a743cbd47e54e25fbac2 /include/sys/spa.h | |
parent | 6db4ed51d6c2cd8ec6a3ad318118f7a0d6b6dfe8 (diff) |
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 <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Sponsored by: iXsystems, Inc.
Closes #14953
Diffstat (limited to 'include/sys/spa.h')
-rw-r--r-- | include/sys/spa.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/include/sys/spa.h b/include/sys/spa.h index ed752967c..1fa204400 100644 --- a/include/sys/spa.h +++ b/include/sys/spa.h @@ -1174,10 +1174,6 @@ extern void zep_to_zb(uint64_t dataset, zbookmark_err_phys_t *zep, zbookmark_phys_t *zb); extern void name_to_errphys(char *buf, zbookmark_err_phys_t *zep); -/* vdev cache */ -extern void vdev_cache_stat_init(void); -extern void vdev_cache_stat_fini(void); - /* vdev mirror */ extern void vdev_mirror_stat_init(void); extern void vdev_mirror_stat_fini(void); |