mirror_zfs/man
Alexander Motin b7f919d228
Relax zfs_vnops_read_chunk_size limitations
It makes no sense to limit read size below the block size, since
DMU will any way consume resources for the whole block, while the
current zfs_vnops_read_chunk_size is only 1MB, which is smaller
that maximum block size of 16MB.  Plus in case of misaligned
Uncached I/O the buffer may get evicted between the chunks,
requiring repeating I/Os.

On 64-bit platforms increase zfs_vnops_read_chunk_size to 32MB.
It allows to less depend on speculative prefetcher if application
requests specific size, first not waiting for prefetcher to start
and later not prefetching more than needed.

Also while there, we don't need to align reads to the chunk size,
but only to a block size, which is smaller and so more forgiving.

My profiles show ~4% of CPU time saving when reading 16MB blocks.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #17415
2025-06-04 11:24:15 -04:00
..
man1 Harmonize on American spelling in several places 2025-03-24 14:36:34 -07:00
man4 Relax zfs_vnops_read_chunk_size limitations 2025-06-04 11:24:15 -04:00
man5 SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
man7 Allow opt-in of zvol blocks in special class 2025-05-24 16:44:26 -04:00
man8 events: include zio type in IO error reports 2025-05-30 10:29:29 -04:00
Makefile.am Introduce zfs rewrite subcommand (#17246) 2025-05-12 10:22:17 -07:00