Beispiel #1
0
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);
}
Beispiel #2
0
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
}
Beispiel #3
0
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);
  }
}