make SYNC_PASS_* constants tunable
There are several SYNC_PASS_* constants that affect the performance of spa_sync(). We have already seen one of these values be clearly sub-optimal (bug 3331). We should make these values tunable to allow some performance analysis to be done. There should be a comment by the tunables warning against tuning these values for anything other than performance analysis since it could lead to subtle and pathological performance problems. Once we have done sufficient analysis these values should be changed back to #defines.
Updated by Christopher Siden over 8 years ago
- Status changed from In Progress to Closed
commit 01f55e48fb4d524eaf70687728aa51b7762e2e97 Author: George Wilson <email@example.com> Date: Wed Nov 7 14:05:17 2012 -0800 3329 spa_sync() spends 10-20% of its time in spa_free_sync_cb() 3330 space_seg_t should have its own kmem_cache 3331 deferred frees should happen after sync_pass 1 3335 make SYNC_PASS_* constants tunable Reviewed by: Adam Leventhal <firstname.lastname@example.org> Reviewed by: Matt Ahrens <email@example.com> Reviewed by: Christopher Siden <firstname.lastname@example.org> Reviewed by: Eric Schrock <email@example.com> Reviewed by: Richard Lowe <firstname.lastname@example.org> Reviewed by: Dan McDonald <email@example.com> Approved by: Eric Schrock <firstname.lastname@example.org>