Add 'dmu_tx' kstats entry

Keep counters for the various reasons that a thread may end up
in txg_wait_open() waiting on a new txg.  This can be useful
when attempting to determine why a particular workload is
under performing.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf
2012-01-20 10:58:57 -08:00
parent 13be560d89
commit 570827e129
7 changed files with 93 additions and 4 deletions
+3 -1
View File
@@ -517,8 +517,10 @@ dsl_pool_tempreserve_space(dsl_pool_t *dp, uint64_t space, dmu_tx_t *tx)
reserved = dp->dp_space_towrite[tx->tx_txg & TXG_MASK]
+ dp->dp_tempreserved[tx->tx_txg & TXG_MASK] / 2;
if (reserved && reserved > write_limit)
if (reserved && reserved > write_limit) {
DMU_TX_STAT_BUMP(dmu_tx_write_limit);
return (ERESTART);
}
}
atomic_add_64(&dp->dp_tempreserved[tx->tx_txg & TXG_MASK], space);