Lines Matching refs:analysis
145 struct SnapshotAnalysis analysis{}; in getSnapshotAnalysis() struct
149 mTimeoutQueue.copyRequests(analysis.timeoutRequests); in getSnapshotAnalysis()
150 mRetiredQueue.copyRequests(analysis.retiredRequests, retiredCount); in getSnapshotAnalysis()
151 analysis.pendingRequests = getPendingRequests(); in getSnapshotAnalysis()
152 analysis.secondChanceCount = mMonitorThread.getSecondChanceCount(); in getSnapshotAnalysis()
154 if (analysis.timeoutRequests.empty()) { in getSnapshotAnalysis()
155 return analysis; in getSnapshotAnalysis()
159 const std::shared_ptr<const Request> timeout = analysis.timeoutRequests.back(); in getSnapshotAnalysis()
160 analysis.timeoutTid = timeout->tid; in getSnapshotAnalysis()
162 std::string& description = analysis.description; in getSnapshotAnalysis()
165 auto deadlockInfo = audio_utils::mutex::deadlock_detection(analysis.timeoutTid); in getSnapshotAnalysis()
173 analysis.hasMutexCycle = deadlockInfo.has_cycle; in getSnapshotAnalysis()
174 analysis.mutexWaitChain = std::move(deadlockInfo.chain); in getSnapshotAnalysis()
177 if (analysis.pendingRequests.empty()) { in getSnapshotAnalysis()
178 return analysis; in getSnapshotAnalysis()
191 for (const auto& pending : analysis.pendingRequests) { in getSnapshotAnalysis()
212 analysis.suspectTid = request->tid; in getSnapshotAnalysis()
224 analysis.suspectTid= request->tid; in getSnapshotAnalysis()
228 return analysis; in getSnapshotAnalysis()