info->profiler.start_time = 0;
info->profiler.end_time = 0;
+ info->profiler.guest_pf_cnt = 0;
info->profiler.root.rb_node = NULL;
}
insert_event(info, evt);
}
- evt->handler_time += time;
+
+
+ evt->handler_time = (evt->handler_time * .99) + (time * .01);
+
+
evt->exit_count++;
info->profiler.total_exits++;
struct exit_event * evt = NULL;
struct rb_node * node = v3_rb_first(&(info->profiler.root));
+ PrintDebug("GUEST_PF: %u\n", info->profiler.guest_pf_cnt);
+
do {
evt = rb_entry(node, struct exit_event, tree_node);
+ const char * code_str = vmexit_code_to_str(evt->exit_code);
- PrintDebug("%s: Cnt=%u, Time=%u\n",
- vmexit_code_to_str(evt->exit_code),
+ PrintDebug("%s:%sCnt=%u,%sTime=%u\n",
+ code_str,
+ (strlen(code_str) > 14) ? "\t" : "\t\t",
evt->exit_count,
+ (evt->exit_count >= 100) ? "\t" : "\t\t",
evt->handler_time);
} while ((node = v3_rb_next(node)));