Lines Matching refs:raidPtr

94 	RF_Raid_t *raidPtr;  in rf_ShutdownEngine()  local
96 raidPtr = (RF_Raid_t *) arg; in rf_ShutdownEngine()
99 rf_lock_mutex2(raidPtr->iodone_lock); in rf_ShutdownEngine()
101 raidPtr->shutdown_raidio = 1; in rf_ShutdownEngine()
102 rf_signal_cond2(raidPtr->iodone_cv); in rf_ShutdownEngine()
105 while (raidPtr->shutdown_raidio) in rf_ShutdownEngine()
106 rf_wait_cond2(raidPtr->iodone_cv, raidPtr->iodone_lock); in rf_ShutdownEngine()
108 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_ShutdownEngine()
111 DO_LOCK(raidPtr); in rf_ShutdownEngine()
112 raidPtr->shutdown_engine = 1; in rf_ShutdownEngine()
113 DO_SIGNAL(raidPtr); in rf_ShutdownEngine()
116 while (raidPtr->shutdown_engine) in rf_ShutdownEngine()
117 DO_WAIT(raidPtr); in rf_ShutdownEngine()
119 DO_UNLOCK(raidPtr); in rf_ShutdownEngine()
121 rf_destroy_mutex2(raidPtr->node_queue_mutex); in rf_ShutdownEngine()
122 rf_destroy_cond2(raidPtr->node_queue_cv); in rf_ShutdownEngine()
124 rf_destroy_mutex2(raidPtr->iodone_lock); in rf_ShutdownEngine()
125 rf_destroy_cond2(raidPtr->iodone_cv); in rf_ShutdownEngine()
129 rf_ConfigureEngine(RF_ShutdownList_t **listp, RF_Raid_t *raidPtr, in rf_ConfigureEngine() argument
136 TAILQ_INIT(&(raidPtr->iodone)); in rf_ConfigureEngine()
137 rf_init_mutex2(raidPtr->iodone_lock, IPL_VM); in rf_ConfigureEngine()
138 rf_init_cond2(raidPtr->iodone_cv, "raidiow"); in rf_ConfigureEngine()
140 rf_init_mutex2(raidPtr->node_queue_mutex, IPL_VM); in rf_ConfigureEngine()
141 rf_init_cond2(raidPtr->node_queue_cv, "rfnodeq"); in rf_ConfigureEngine()
142 raidPtr->node_queue = NULL; in rf_ConfigureEngine()
143 raidPtr->dags_in_flight = 0; in rf_ConfigureEngine()
150 printf("raid%d: Creating engine thread\n", raidPtr->raidid); in rf_ConfigureEngine()
153 if (RF_CREATE_ENGINE_THREAD(raidPtr->engine_thread, in rf_ConfigureEngine()
154 DAGExecutionThread, raidPtr, in rf_ConfigureEngine()
155 "raid%d", raidPtr->raidid)) { in rf_ConfigureEngine()
157 raidPtr->raidid); in rf_ConfigureEngine()
160 if (RF_CREATE_ENGINE_THREAD(raidPtr->engine_helper_thread, in rf_ConfigureEngine()
161 rf_RaidIOThread, raidPtr, in rf_ConfigureEngine()
162 "raidio%d", raidPtr->raidid)) { in rf_ConfigureEngine()
164 raidPtr->raidid); in rf_ConfigureEngine()
169 printf("raid%d: Created engine thread\n", raidPtr->raidid); in rf_ConfigureEngine()
176 printf("raid%d: Engine thread running and waiting for events\n", raidPtr->raidid); in rf_ConfigureEngine()
179 rf_ShutdownCreate(listp, rf_ShutdownEngine, raidPtr); in rf_ConfigureEngine()
274 node->dagHdr->raidPtr->raidid, in FireNode()
295 node->dagHdr->raidPtr->raidid, in FireNode()
427 RF_Raid_t *raidPtr; in PropagateResults() local
437 raidPtr = node->dagHdr->raidPtr; in PropagateResults()
439 DO_LOCK(raidPtr); in PropagateResults()
511 q->next = raidPtr->node_queue; in PropagateResults()
512 raidPtr->node_queue = qh; in PropagateResults()
513 DO_SIGNAL(raidPtr); in PropagateResults()
515 DO_UNLOCK(raidPtr); in PropagateResults()
592 q->next = raidPtr->node_queue; in PropagateResults()
593 raidPtr->node_queue = qh; in PropagateResults()
594 DO_SIGNAL(raidPtr); in PropagateResults()
596 DO_UNLOCK(raidPtr); in PropagateResults()
633 RF_Raid_t *raidPtr; in ProcessNode() local
635 raidPtr = node->dagHdr->raidPtr; in ProcessNode()
649 printf("raid%d: node (%s) returned fail, rolling forward\n", raidPtr->raidid, node->name); in ProcessNode()
657 printf("raid%d: node (%s) returned fail, rolling backward\n", raidPtr->raidid, node->name); in ProcessNode()
709 RF_Raid_t *raidPtr; in rf_DispatchDAG() local
711 raidPtr = dag->raidPtr; in rf_DispatchDAG()
727 printf("raid%d: Entering DispatchDAG\n", raidPtr->raidid); in rf_DispatchDAG()
730 raidPtr->dags_in_flight++; /* debug only: blow off proper in rf_DispatchDAG()
751 RF_Raid_t *raidPtr; in DAGExecutionThread() local
753 raidPtr = (RF_Raid_t *) arg; in DAGExecutionThread()
757 printf("raid%d: Engine thread is running\n", raidPtr->raidid); in DAGExecutionThread()
761 DO_LOCK(raidPtr); in DAGExecutionThread()
762 while (!raidPtr->shutdown_engine) { in DAGExecutionThread()
764 while (raidPtr->node_queue != NULL) { in DAGExecutionThread()
765 local_nq = raidPtr->node_queue; in DAGExecutionThread()
768 raidPtr->node_queue = NULL; in DAGExecutionThread()
769 DO_UNLOCK(raidPtr); in DAGExecutionThread()
816 raidPtr->dags_in_flight--; /* debug only */ in DAGExecutionThread()
822 DO_LOCK(raidPtr); in DAGExecutionThread()
824 while (!raidPtr->shutdown_engine && in DAGExecutionThread()
825 raidPtr->node_queue == NULL) { in DAGExecutionThread()
826 DO_WAIT(raidPtr); in DAGExecutionThread()
831 raidPtr->shutdown_engine = 0; in DAGExecutionThread()
832 DO_SIGNAL(raidPtr); in DAGExecutionThread()
834 DO_UNLOCK(raidPtr); in DAGExecutionThread()
852 RF_Raid_t *raidPtr; in rf_RaidIOThread() local
855 raidPtr = (RF_Raid_t *) arg; in rf_RaidIOThread()
857 rf_lock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
859 while (!raidPtr->shutdown_raidio) { in rf_RaidIOThread()
861 if (TAILQ_EMPTY(&(raidPtr->iodone)) && in rf_RaidIOThread()
862 rf_buf_queue_check(raidPtr)) { in rf_RaidIOThread()
863 rf_wait_cond2(raidPtr->iodone_cv, raidPtr->iodone_lock); in rf_RaidIOThread()
867 if (raidPtr->parity_map != NULL) { in rf_RaidIOThread()
868 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
869 rf_paritymap_checkwork(raidPtr->parity_map); in rf_RaidIOThread()
870 rf_lock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
874 while ((req = TAILQ_FIRST(&(raidPtr->iodone))) != NULL) { in rf_RaidIOThread()
875 TAILQ_REMOVE(&(raidPtr->iodone), req, iodone_entries); in rf_RaidIOThread()
876 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
879 rf_lock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
883 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
884 raidstart(raidPtr); in rf_RaidIOThread()
885 rf_lock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()
890 raidPtr->shutdown_raidio = 0; in rf_RaidIOThread()
891 rf_signal_cond2(raidPtr->iodone_cv); in rf_RaidIOThread()
893 rf_unlock_mutex2(raidPtr->iodone_lock); in rf_RaidIOThread()