Alexander Motin
23fad19818
Reduce zfs_dmu_offset_next_sync penalty
...
Looking on txg_wait_synced(, 0) I've noticed that it always syncs
5 TXGs: 3 TXG_CONCURRENT_STATES + 2 TXG_DEFER_SIZE. But in case
of dmu_offset_next() we do not care about deferred frees. And even
concurrent TXGs we might not need sync all 3 if the dnode was not
dirtied in last few TXGs.
This patch makes dmu_offset_next() to sync one TXG at a time until
the dnode is clean, but no more than 3 TXG_CONCURRENT_STATES times.
My tests with random simultaneous writes and seeks over many files
on HDD pool show 7-14% performance increase.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Rob Norris <robn@despairlabs.com >
Signed-off-by: Alexander Motin <mav@FreeBSD.org >
Sponsored by: iXsystems, Inc.
Closes #17434
2025-06-17 10:50:26 -07:00
..
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:45 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:49:40 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:49:40 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:45 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-06-17 10:50:26 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:49:40 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-05-28 16:00:28 -07:00
2025-05-28 16:00:28 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-06-17 10:50:26 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:45 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:49:40 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-04-16 09:59:44 -07:00
2025-06-17 10:49:40 -07:00