From f9c39dc862768df4891a4437dcba5dc26d3b1e5f Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 29 Sep 2023 08:21:25 -0700 Subject: [PATCH] Tweak rebuild in-flight hard limit Vendor testing shows we should be able to get a little more performance if we further relax the hard limit which we're hitting. Authored-by: Brian Behlendorf Reviewed-by: Alexander Motin Signed-off-by: Tony Hutter Closes #15324 --- module/zfs/vdev_rebuild.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/zfs/vdev_rebuild.c b/module/zfs/vdev_rebuild.c index 75c3900cbb..6503390f79 100644 --- a/module/zfs/vdev_rebuild.c +++ b/module/zfs/vdev_rebuild.c @@ -807,12 +807,12 @@ vdev_rebuild_thread(void *arg) /* * Calculate the max number of in-flight bytes for top-level - * vdev scanning operations (minimum 1MB, maximum 1/4 of + * vdev scanning operations (minimum 1MB, maximum 1/2 of * arc_c_max shared by all top-level vdevs). Limits for the * issuing phase are done per top-level vdev and are handled * separately. */ - uint64_t limit = (arc_c_max / 4) / MAX(rvd->vdev_children, 1); + uint64_t limit = (arc_c_max / 2) / MAX(rvd->vdev_children, 1); vr->vr_bytes_inflight_max = MIN(limit, MAX(1ULL << 20, zfs_rebuild_vdev_limit * vd->vdev_children));