Lines Matching refs:txg

121 txg_init(dsl_pool_t *dp, uint64_t txg)  in txg_init()  argument
152 tx->tx_open_txg = txg; in txg_init()
322 uint64_t txg; in txg_hold_open() local
333 txg = tx->tx_open_txg; in txg_hold_open()
336 tc->tc_count[txg & TXG_MASK]++; in txg_hold_open()
340 th->th_txg = txg; in txg_hold_open()
342 return (txg); in txg_hold_open()
387 txg_quiesce(dsl_pool_t *dp, uint64_t txg) in txg_quiesce() argument
391 int g = txg & TXG_MASK; in txg_quiesce()
400 ASSERT(txg == tx->tx_open_txg); in txg_quiesce()
404 DTRACE_PROBE2(txg__quiescing, dsl_pool_t *, dp, uint64_t, txg); in txg_quiesce()
414 spa_txg_history_set(dp->dp_spa, txg, TXG_STATE_OPEN, tx_open_time); in txg_quiesce()
415 spa_txg_history_add(dp->dp_spa, txg + 1, tx_open_time); in txg_quiesce()
429 spa_txg_history_set(dp->dp_spa, txg, TXG_STATE_QUIESCED, gethrtime()); in txg_quiesce()
449 txg_dispatch_callbacks(dsl_pool_t *dp, uint64_t txg) in txg_dispatch_callbacks() argument
462 int g = txg & TXG_MASK; in txg_dispatch_callbacks()
534 uint64_t txg; in txg_sync_thread() local
588 txg = tx->tx_quiesced_txg; in txg_sync_thread()
590 tx->tx_syncing_txg = txg; in txg_sync_thread()
591 DTRACE_PROBE2(txg__syncing, dsl_pool_t *, dp, uint64_t, txg); in txg_sync_thread()
595 (u_longlong_t)txg, (u_longlong_t)tx->tx_quiesce_txg_waiting, in txg_sync_thread()
599 txg_stat_t *ts = spa_txg_history_init_io(spa, txg, dp); in txg_sync_thread()
601 spa_sync(spa, txg); in txg_sync_thread()
606 tx->tx_synced_txg = txg; in txg_sync_thread()
608 DTRACE_PROBE2(txg__synced, dsl_pool_t *, dp, uint64_t, txg); in txg_sync_thread()
614 txg_dispatch_callbacks(dp, txg); in txg_sync_thread()
628 uint64_t txg; in txg_quiesce_thread() local
645 txg = tx->tx_open_txg; in txg_quiesce_thread()
647 (u_longlong_t)txg, in txg_quiesce_thread()
650 tx->tx_quiescing_txg = txg; in txg_quiesce_thread()
653 txg_quiesce(dp, txg); in txg_quiesce_thread()
660 (u_longlong_t)txg); in txg_quiesce_thread()
662 tx->tx_quiesced_txg = txg; in txg_quiesce_thread()
663 DTRACE_PROBE2(txg__quiesced, dsl_pool_t *, dp, uint64_t, txg); in txg_quiesce_thread()
675 txg_delay(dsl_pool_t *dp, uint64_t txg, hrtime_t delay, hrtime_t resolution) in txg_delay() argument
681 if (tx->tx_open_txg > txg || in txg_delay()
682 tx->tx_syncing_txg == txg-1 || tx->tx_synced_txg == txg-1) in txg_delay()
686 if (tx->tx_open_txg > txg || tx->tx_synced_txg == txg-1) { in txg_delay()
692 tx->tx_syncing_txg < txg-1 && !txg_stalled(dp)) { in txg_delay()
703 txg_wait_synced_flags(dsl_pool_t *dp, uint64_t txg, txg_wait_flag_t flags) in txg_wait_synced_flags() argument
713 if (txg == 0) in txg_wait_synced_flags()
714 txg = tx->tx_open_txg + TXG_DEFER_SIZE; in txg_wait_synced_flags()
715 if (tx->tx_sync_txg_waiting < txg) in txg_wait_synced_flags()
716 tx->tx_sync_txg_waiting = txg; in txg_wait_synced_flags()
718 (u_longlong_t)txg, (u_longlong_t)tx->tx_quiesce_txg_waiting, in txg_wait_synced_flags()
725 while (tx->tx_synced_txg < txg) { in txg_wait_synced_flags()
754 txg_wait_synced(dsl_pool_t *dp, uint64_t txg) in txg_wait_synced() argument
756 VERIFY0(txg_wait_synced_flags(dp, txg, TXG_WAIT_NONE)); in txg_wait_synced()
764 txg_wait_open(dsl_pool_t *dp, uint64_t txg, boolean_t should_quiesce) in txg_wait_open() argument
772 if (txg == 0) in txg_wait_open()
773 txg = tx->tx_open_txg + 1; in txg_wait_open()
774 if (tx->tx_quiesce_txg_waiting < txg && should_quiesce) in txg_wait_open()
775 tx->tx_quiesce_txg_waiting = txg; in txg_wait_open()
777 (u_longlong_t)txg, (u_longlong_t)tx->tx_quiesce_txg_waiting, in txg_wait_open()
779 while (tx->tx_open_txg < txg) { in txg_wait_open()
801 txg_kick(dsl_pool_t *dp, uint64_t txg) in txg_kick() argument
807 if (tx->tx_sync_txg_waiting >= txg) in txg_kick()
811 if (tx->tx_sync_txg_waiting < txg) { in txg_kick()
812 tx->tx_sync_txg_waiting = txg; in txg_kick()
840 txg_verify(spa_t *spa, uint64_t txg) in txg_verify() argument
843 if (txg <= TXG_INITIAL || txg == ZILTEST_TXG) in txg_verify()
845 ASSERT3U(txg, <=, dp->dp_tx.tx_open_txg); in txg_verify()
846 ASSERT3U(txg, >=, dp->dp_tx.tx_synced_txg); in txg_verify()
847 ASSERT3U(txg, >=, dp->dp_tx.tx_open_txg - TXG_CONCURRENT_STATES); in txg_verify()
869 txg_list_empty_impl(txg_list_t *tl, uint64_t txg) in txg_list_empty_impl() argument
872 TXG_VERIFY(tl->tl_spa, txg); in txg_list_empty_impl()
873 return (tl->tl_head[txg & TXG_MASK] == NULL); in txg_list_empty_impl()
877 txg_list_empty(txg_list_t *tl, uint64_t txg) in txg_list_empty() argument
880 boolean_t ret = txg_list_empty_impl(tl, txg); in txg_list_empty()
919 txg_list_add(txg_list_t *tl, void *p, uint64_t txg) in txg_list_add() argument
921 int t = txg & TXG_MASK; in txg_list_add()
925 TXG_VERIFY(tl->tl_spa, txg); in txg_list_add()
944 txg_list_add_tail(txg_list_t *tl, void *p, uint64_t txg) in txg_list_add_tail() argument
946 int t = txg & TXG_MASK; in txg_list_add_tail()
950 TXG_VERIFY(tl->tl_spa, txg); in txg_list_add_tail()
972 txg_list_remove(txg_list_t *tl, uint64_t txg) in txg_list_remove() argument
974 int t = txg & TXG_MASK; in txg_list_remove()
978 TXG_VERIFY(tl->tl_spa, txg); in txg_list_remove()
997 txg_list_remove_this(txg_list_t *tl, void *p, uint64_t txg) in txg_list_remove_this() argument
999 int t = txg & TXG_MASK; in txg_list_remove_this()
1002 TXG_VERIFY(tl->tl_spa, txg); in txg_list_remove_this()
1021 txg_list_member(txg_list_t *tl, void *p, uint64_t txg) in txg_list_member() argument
1023 int t = txg & TXG_MASK; in txg_list_member()
1026 TXG_VERIFY(tl->tl_spa, txg); in txg_list_member()
1034 txg_list_head(txg_list_t *tl, uint64_t txg) in txg_list_head() argument
1036 int t = txg & TXG_MASK; in txg_list_head()
1043 TXG_VERIFY(tl->tl_spa, txg); in txg_list_head()
1048 txg_list_next(txg_list_t *tl, void *p, uint64_t txg) in txg_list_next() argument
1050 int t = txg & TXG_MASK; in txg_list_next()
1053 TXG_VERIFY(tl->tl_spa, txg); in txg_list_next()