tx_cpu
typedef struct tx_cpu tx_cpu_t;
tx_cpu_t *tx_cpu; /* protects access to tx_open_txg */
tx->tx_cpu = kmem_zalloc(max_ncpus * sizeof (tx_cpu_t), KM_SLEEP);
mutex_init(&tx->tx_cpu[c].tc_lock, NULL, MUTEX_DEFAULT, NULL);
mutex_init(&tx->tx_cpu[c].tc_open_lock, NULL, MUTEX_DEFAULT,
cv_init(&tx->tx_cpu[c].tc_cv[i], NULL, CV_DEFAULT,
list_create(&tx->tx_cpu[c].tc_callbacks[i],
mutex_destroy(&tx->tx_cpu[c].tc_open_lock);
mutex_destroy(&tx->tx_cpu[c].tc_lock);
cv_destroy(&tx->tx_cpu[c].tc_cv[i]);
list_destroy(&tx->tx_cpu[c].tc_callbacks[i]);
kmem_free(tx->tx_cpu, max_ncpus * sizeof (tx_cpu_t));
tx_cpu_t *tc = &tx->tx_cpu[CPU_SEQID];
mutex_enter(&tx->tx_cpu[c].tc_open_lock);
mutex_exit(&tx->tx_cpu[c].tc_open_lock);
tx_cpu_t *tc = &tx->tx_cpu[c];
tx_cpu_t *tc = &tx->tx_cpu[c];