void finalize() { DEBUG("finalizing libdthread"); initialized = false; //xrun::finalize(); fprintf(stderr, "\nStatistics information:\n"); PRINT_TIMER(serial); PRINT_COUNTER(commit); PRINT_COUNTER(twinpage); PRINT_COUNTER(suspectpage); PRINT_COUNTER(slowpage); PRINT_COUNTER(dirtypage); PRINT_COUNTER(lazypage); PRINT_COUNTER(shorttrans); }
void finalize() { DEBUG("finalizing libtthread"); memory->closeProtection(); initialized = false; #ifdef DEBUG_ENABLED fprintf(stderr, "\nStatistics information:\n"); PRINT_TIMER(serial); PRINT_COUNTER(commit); PRINT_COUNTER(twinpage); PRINT_COUNTER(suspectpage); PRINT_COUNTER(slowpage); PRINT_COUNTER(dirtypage); PRINT_COUNTER(lazypage); PRINT_COUNTER(shorttrans); tthread::log *log = new(logbuf)tthread::log; log->print(); #endif // DEBUG_ENABLED }
void xlb_print_workq_perf_counters(void) { if (!xlb_s.perfc_enabled) { return; } for (int t = 0; t < xlb_s.types_size; t++) { work_type_counters *c = &xlb_task_counters[t]; /* * Print collected and derived stats: * total: total tasks passing through this server * net: total tasks, minus those passed to other servers, * so that summing net gives actual tasks in whole system */ PRINT_COUNTER("worktype_%i_targeted_total=%"PRId64"\n", t, c->targeted_enqueued + c->targeted_bypass); PRINT_COUNTER("worktype_%i_targeted_enqueued=%"PRId64"\n", t, c->targeted_enqueued); PRINT_COUNTER("worktype_%i_targeted_bypass=%"PRId64"\n", t, c->targeted_bypass); PRINT_COUNTER("worktype_%i_targeted_data_wait=%"PRId64"\n", t, c->targeted_data_wait); PRINT_COUNTER("worktype_%i_targeted_data_no_wait=%"PRId64"\n", t, c->targeted_data_no_wait); PRINT_COUNTER("worktype_%i_single_total=%"PRId64"\n", t, c->single_enqueued + c->single_bypass); PRINT_COUNTER("worktype_%i_single_net=%"PRId64"\n", t, c->single_enqueued + c->single_bypass - c->single_stolen); PRINT_COUNTER("worktype_%i_single_enqueued=%"PRId64"\n", t, c->single_enqueued); PRINT_COUNTER("worktype_%i_single_bypass=%"PRId64"\n", t, c->single_bypass); PRINT_COUNTER("worktype_%i_single_stolen=%"PRId64"\n", t, c->single_stolen); PRINT_COUNTER("worktype_%i_single_data_wait=%"PRId64"\n", t, c->single_data_wait); PRINT_COUNTER("worktype_%i_single_data_no_wait=%"PRId64"\n", t, c->single_data_no_wait); PRINT_COUNTER("worktype_%i_parallel_total=%"PRId64"\n", t, c->parallel_enqueued + c->parallel_bypass); PRINT_COUNTER("worktype_%i_parallel_net=%"PRId64"\n", t, c->parallel_enqueued + c->parallel_bypass - c->parallel_stolen); PRINT_COUNTER("worktype_%i_parallel_enqueued=%"PRId64"\n", t, c->parallel_enqueued); PRINT_COUNTER("worktype_%i_parallel_bypass=%"PRId64"\n", t, c->parallel_bypass); PRINT_COUNTER("worktype_%i_parallel_stolen=%"PRId64"\n", t, c->parallel_stolen); PRINT_COUNTER("worktype_%i_parallel_data_wait=%"PRId64"\n", t, c->parallel_data_wait); PRINT_COUNTER("worktype_%i_parallel_data_no_wait=%"PRId64"\n", t, c->parallel_data_no_wait); } }