Lines Matching refs:stats
85 static isc_mutexstats_t stats[ISC_MUTEX_PROFTABLESIZE];
115 mp->stats = &stats[stats_next++];
119 mp->stats->file = file;
120 mp->stats->line = line;
121 mp->stats->count = 0;
122 timevalclear(&mp->stats->locked_total);
123 timevalclear(&mp->stats->wait_total);
125 mp->stats->lockers[i].file = NULL;
126 mp->stats->lockers[i].line = 0;
127 mp->stats->lockers[i].count = 0;
128 timevalclear(&mp->stats->lockers[i].locked_total);
129 timevalclear(&mp->stats->lockers[i].wait_total);
148 mp->stats->lock_t = postlock_t;
152 mp->stats->count++;
153 timevaladd(&mp->stats->wait_total, &postlock_t);
156 if (mp->stats->lockers[i].file == NULL) {
157 locker = &mp->stats->lockers[i];
161 } else if (mp->stats->lockers[i].file == file &&
162 mp->stats->lockers[i].line == line) {
163 locker = &mp->stats->lockers[i];
173 mp->stats->cur_locker = locker;
185 if (mp->stats->cur_locker != NULL) {
187 timevalsub(&unlock_t, &mp->stats->lock_t);
188 timevaladd(&mp->stats->locked_total, &unlock_t);
189 timevaladd(&mp->stats->cur_locker->locked_total, &unlock_t);
190 mp->stats->cur_locker = NULL;
203 fprintf(fp, "Mutex stats (in us)\n");
206 stats[i].file, stats[i].line, stats[i].count,
207 stats[i].locked_total.tv_sec,
208 stats[i].locked_total.tv_usec,
209 stats[i].wait_total.tv_sec,
210 stats[i].wait_total.tv_usec
213 locker = &stats[i].lockers[j];