mirror_zfs/module
Chunwei Chen 5945676bcc
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 <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Co-authored-by: david.chen <david.chen@nutanix.com>
Closes #16701
2024-11-06 11:52:01 -08:00
..
avl Suppress Clang Static Analyzer false positive in the AVL tree code. 2023-03-08 13:51:21 -08:00
icp icp: remove redundant FreeBSD check 2024-05-31 15:13:59 -07:00
lua lua: add flex array field to TString type 2024-09-30 10:30:03 -07:00
nvpair xdr: header cleanup 2024-04-03 15:13:27 -07:00
os Use simple folio migration function 2024-11-06 11:44:10 -08:00
unicode module: unicode: remove unused tolower transformations 2024-11-04 17:26:35 -08:00
zcommon Always validate checksums for Direct I/O reads 2024-10-09 12:28:08 -07:00
zfs ZFS send should use spill block prefetched from send_reader_thread 2024-11-06 11:52:01 -08:00
zstd compress: change zio_compress API to use ABDs 2024-08-22 16:22:24 -07:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in module: unicode: remove unused uconv.c 2024-11-01 12:12:13 -07:00
Makefile.bsd module: unicode: remove unused uconv.c 2024-11-01 12:12:13 -07:00
Makefile.in check-zstd-symbols: also ignore __pfx_ symbols 2023-09-18 09:08:41 -07:00