Alexander Motin
66ec7fb269
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-11 11:50:49 -07:00
..
2025-04-24 13:55:21 -04:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-11 11:13:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-31 19:12:16 -04:00
2025-03-13 17:56:27 -07:00
2025-05-13 14:26:55 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:52:43 -07:00
2025-05-13 14:26:55 -07:00
2025-05-28 10:28:59 -07:00
2025-05-19 09:55:00 -07:00
2025-05-27 15:05:09 -07:00
2025-06-10 09:30:06 -07:00
2025-05-13 14:26:55 -07:00
2025-06-11 11:50:49 -07:00
2025-05-13 14:26:55 -07:00
2025-06-11 11:13:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:52:43 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-06 22:43:10 -04:00
2025-05-28 10:28:59 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:46 -07:00
2025-03-13 17:56:27 -07:00
2025-06-03 11:12:59 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-23 10:33:33 -04:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-05-13 14:26:55 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-05-31 19:12:16 -04:00
2025-05-13 14:26:55 -07:00
2025-06-03 11:12:59 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2025-05-28 10:27:46 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:57:31 -07:00
2025-05-02 15:32:18 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 10:28:59 -07:00
2025-05-28 10:28:59 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-05-02 15:32:18 -07:00
2025-03-24 09:25:01 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 16:50:22 -07:00
2025-05-28 10:28:59 -07:00
2025-05-28 10:28:59 -07:00
2025-05-28 10:28:59 -07:00
2025-05-02 15:32:18 -07:00
2025-05-28 10:28:59 -07:00
2025-05-30 09:14:37 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-27 20:04:37 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:53:10 -07:00
2025-05-02 15:29:50 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-18 09:22:16 -04:00
2025-05-30 10:29:29 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:52:43 -07:00
2025-05-28 16:50:22 -07:00
2025-03-13 17:56:27 -07:00
2025-04-03 10:36:45 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-03-13 17:56:27 -07:00
2025-03-18 16:04:22 -07:00
2025-06-10 09:30:06 -07:00
2025-04-03 10:35:22 -07:00
2025-05-28 10:28:59 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-03 11:12:59 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-31 19:09:50 -04:00