diff options
author | Matthew Macy <[email protected]> | 2020-09-27 17:08:38 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-09-27 17:08:38 -0700 |
commit | af20b97078af7bf4ba7552dff04cc40b643ab72c (patch) | |
tree | f2588e170caba562ff55808458276ca5796b2211 /.github/CONTRIBUTING.md | |
parent | cf2667759f4583bddd4b6ce8167e48b041ae1ea3 (diff) |
zfetch: Don't issue new streams when old have not completed
The current dmu_zfetch code implicitly assumes that I/Os complete
within min_sec_reap seconds. With async dmu and a readonly workload
(and thus no exponential backoff in operations from the "write
throttle") such as L2ARC rebuild it is possible to saturate the drives
with I/O requests. These are then effectively compounded with prefetch
requests.
This change reference counts streams and prevents them from being
recycled after their min_sec_reap timeout if they still have
outstanding I/Os.
Reviewed-by: Alexander Motin <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matt Macy <[email protected]>
Closes #10900
Diffstat (limited to '.github/CONTRIBUTING.md')
0 files changed, 0 insertions, 0 deletions