Files
mirror_zfs/module
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-02 09:42:12 -07:00
2020-09-22 16:03:11 -07:00
2020-09-02 09:42:12 -07:00
2020-06-10 09:24:15 -07:00
2020-08-27 15:50:13 -07:00
2020-06-10 09:24:15 -07:00
2020-08-20 10:30:06 -07:00
2020-08-27 15:50:13 -07:00
2020-08-20 10:30:06 -07:00