txg_delay should not hold the tc_lock
zfs - Zettabyte File System
From George Wilson's bug report at Delphix:
Any thread calling txg_delay will end up going to sleep with the tc_lock held. This can lead to performance issues since synchronous I/Os end up calling txg_rele_to_sync() when the I/O completes. This function will need to grab the tc_lock to decrement the tc_count. A new lock should be introduced to protect tx_open_txg.
Updated by Christopher Siden about 8 years ago
- Status changed from In Progress to Closed
commit 4a92375 Author: George Wilson <firstname.lastname@example.org> Date: Tue Apr 23 10:31:42 2013 3642 dsl_scan_active() should not issue I/O to determine if async destroying is active 3643 txg_delay should not hold the tc_lock Reviewed by: Matthew Ahrens <email@example.com> Reviewed by: Adam Leventhal <firstname.lastname@example.org> Approved by: Gordon Ross <email@example.com>