diff options
author | Alexander Motin <[email protected]> | 2023-01-25 14:30:24 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2023-01-25 11:30:24 -0800 |
commit | dc5c8006f684b1df3f2d4b6b8c121447d2db0017 (patch) | |
tree | e0a48245fc28b5d55d3d5266f56a90e359424bac /cmd/zpool | |
parent | c85ac731a0ec16e4277857b55ebe123c552365b6 (diff) |
Prefetch on deadlists merge
During snapshot deletion ZFS may issue several reads for each deadlist
to merge them into next snapshot's or pool's bpobj. Number of the dead
lists increases with number of snapshots. On HDD pools it may take
significant time during which sync thread is blocked.
This patch introduces prescient prefetch of required blocks for up to
128 deadlists ahead. Tests show reduction of time required to delete
dataset with 720 snapshots with randomly overwritten file on wide HDD
pool from 75-85 to 22-28 seconds.
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Sponsored by: iXsystems, Inc.
Issue #14276
Closes #14402
Diffstat (limited to 'cmd/zpool')
0 files changed, 0 insertions, 0 deletions