void SimManager::set_done() { if(ATOM_CAS(sim_done, false, true)) { if(warmup_end_time == 0) warmup_end_time = run_starttime; SET_STATS(0, total_runtime, get_sys_clock() - warmup_end_time); } }
/* * update_stats(class_id, nbytes) * * if ipgpc_gather_stats == TRUE * updates the statistics for class pointed to be the input classid * and the global ipgpc kstats * updates the last time the class was matched with the current hrtime value, * number of packets and number of bytes with nbytes */ static void update_stats(int class_id, uint_t nbytes) { if (ipgpc_gather_stats) { /* update global stats */ BUMP_STATS(ipgpc_npackets); UPDATE_STATS(ipgpc_nbytes, nbytes); if (ipgpc_cid_list[class_id].aclass.gather_stats) { /* update per class stats */ SET_STATS(ipgpc_cid_list[class_id].stats.last_match, gethrtime()); BUMP_STATS(ipgpc_cid_list[class_id].stats.npackets); UPDATE_STATS(ipgpc_cid_list[class_id].stats.nbytes, nbytes); } } }