Files
mirror_zfs/include
Matthew Macy af20b97078 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 <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #10900
2020-09-27 17:08:38 -07:00
..
2020-09-23 16:43:51 -07:00
2020-03-27 09:11:22 -07:00
2017-09-19 12:17:29 -07:00
2020-06-18 12:21:32 -07:00
2017-08-09 15:31:08 -07:00
2020-08-20 10:30:06 -07:00
2019-06-24 16:44:01 -07:00
2020-02-11 13:19:12 -08:00