-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Maximize txg size to improve throughput
Added a new module parameter zfs_txg_quiesce_advance to control the timing of quiescing open txg. The open txg can be quiesced into the pipeline even there is a txg still syncing. When the dirty data in syncing txg is below zfs_txg_quiesce_advance, which also measns the sync is about to complete, quiesce the open txg into the pipeline. 0 value means only quiesce the open txg when all the data in the previous txg synced. When all dirty data is writen out, the sync thread may not return immediately. It may be blocked by some mutex lock. Thus, even with 0 value, it still can help minimize idle time of the sync stage. Recommended value: 0 - 5% of zfs_dirty_data_max in bytes. I also move txg_kick() call into dsl_pool_dirty_space() and dsl_pool_undirty_space(), so that txg_kick() can also be triggered by undirty routines. Addressed race condition of tx->tx_open_txg in txg_sync_thread(). Some other style fixes regarding code review. Signed-off-by: jxdking <[email protected]>
- Loading branch information
Showing
4 changed files
with
52 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters