mirror_zfs/module/os/freebsd/zfs
Alexander Motin fdd97e0093 Refactor dmu_prefetch().
- Split dmu_prefetch_dnode() from dmu_prefetch() into a separate
function.  It is quite inconvenient to read the code where len = 0
means dnode prefetch instead indirect/data prefetch.  One function
doing both has no benefits, since the code paths are independent.
 - Improve dmu_prefetch() handling of long block ranges.  Instead
of limiting L0 data length to prefetch for to dmu_prefetch_max,
make dmu_prefetch_max limit the actual amount of prefetch at the
specified level, and, if there is more, prefetch all the rest at
higher indirection level.  It should improve random access times
within the prefetched range of any length, reducing importance of
specific dmu_prefetch_max value.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #15076
2024-04-19 10:13:38 -07:00
..
abd_os.c abd: add page iterator 2024-03-28 13:29:46 -07:00
arc_os.c Unify arc_prune_async() code 2023-11-08 12:15:41 -08:00
crypto_os.c FreeBSD: Improve crypto_dispatch() handling 2022-06-17 15:38:51 -07:00
dmu_os.c dmu: Allow buffer fills to fail 2024-02-20 15:53:02 -08:00
event_os.c FreeBSD: Fix the build on FreeBSD 12 2023-11-28 15:19:07 -08:00
hkdf.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
kmod_core.c FreeBSD: Reduce divergence from in-tree sources 2023-10-10 19:19:09 -07:00
spa_os.c Fix build on FreeBSD 2023-03-22 09:24:41 -07:00
sysctl_os.c Reduce number of metaslab preload taskq threads. 2023-10-07 09:08:20 -07:00
vdev_file.c Cleanup: 64-bit kernel module parameters should use fixed width types 2022-10-13 10:03:29 -07:00
vdev_geom.c Fix build on FreeBSD 2023-03-22 09:24:41 -07:00
vdev_label_os.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_acl.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_ctldir.c FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are NFS visible 2023-11-29 14:08:46 -08:00
zfs_debug.c Cleanup: Replace oldstyle struct hack with C99 flexible array members 2023-01-12 16:00:03 -08:00
zfs_dir.c Fix unprotected zfs_znode_dmu_fini 2023-01-19 16:59:05 -08:00
zfs_file_os.c Fix file descriptor leak on pool import. 2024-01-26 13:38:25 -08:00
zfs_ioctl_compat.c freebsd: add ifdefs around legacy ioctl support 2022-11-07 15:55:26 -08:00
zfs_ioctl_os.c FreeBSD: make zfs_vfs_held() definition consistent with declaration 2023-04-21 10:22:52 -07:00
zfs_racct.c module: zfs: fix unused, remove argsused 2021-12-23 09:42:47 -08:00
zfs_vfsops.c BRT: Fix FICLONE/FICLONERANGE shortened copy 2024-02-06 10:01:15 -08:00
zfs_vnops_os.c Refactor dmu_prefetch(). 2024-04-19 10:13:38 -07:00
zfs_znode.c Retire z_nr_znodes 2023-09-19 08:52:06 -07:00
zio_crypt.c ZIL: Assert record sizes in different places 2024-01-08 16:11:39 -08:00
zvol_os.c Update the kstat dataset_name when renaming a zvol 2024-01-08 16:11:39 -08:00