diff options
author | Chunwei Chen <[email protected]> | 2024-11-06 11:52:01 -0800 |
---|---|---|
committer | GitHub <[email protected]> | 2024-11-06 11:52:01 -0800 |
commit | 5945676bcc5d8b45554c93ea08a0d1f654c7075e (patch) | |
tree | 6631f47851ff5e81aed233a6577a088e0d32bda1 /config | |
parent | 7b6e9675daefcc94393293c46e4672e66490757d (diff) |
ZFS send should use spill block prefetched from send_reader_thread
Currently, even though send_reader_thread prefetches spill block,
do_dump() will not use it and issues its own blocking arc_read. This
causes significant performance degradation when sending datasets with
lots of spill blocks.
For unmodified spill blocks, we also create send_range struct for them
in send_reader_thread and issue prefetches for them. We piggyback them
on the dnode send_range instead of enqueueing them so we don't break
send_range_after check.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Chunwei Chen <[email protected]>
Co-authored-by: david.chen <[email protected]>
Closes #16701
Diffstat (limited to 'config')
0 files changed, 0 insertions, 0 deletions