On Fri, Mar 4, 2011 at 1:26 PM, Ishwar Bhati <[email protected]> wrote: > Hey, I have couple of questions regarding the status of ptlstats. > > A)I see this comment line before update_stats which used by flush_stats in > "ptlsim/core/ooocore.cpp" > /* this assume only one core in each machine, need to be fixed. */ > void OutOfOrderMachine::update_stats(PTLsimStats* stats) { > > Does this mean that, stats collection for multi-core are not correct? I > know, for sure that instructions committed per core calculations > are wrong, because it uses "total_user_insns_committed" in > update_mode_count() in ptl-qemu.cpp which is a global variable. Instead, > we should be using per core instruction counter for this calculations. Are > the dcache miss/hit stats similarly mixed up? > > Here the comment is clearly wrong because we have only one Machine in each simulation run and in this machine all the Cores are present. So this function is called only once at the end when stats are flushed.
But about 'update_mode_count()', that is a bug. Instead of 'total_user_insns_committed', it should be replaced with per core instruction commit. About dcache hit/miss counts, they should be fine because they are added only once for 'global' snapshot. Thanks for finding this bug. B) > There is a "idle" counter/parameter in the insns_in_mode stats, what is > this for and will this be supported in future? > We want to actually know that for how much time a core/thread was in the > idle loop doing nothing? If it is not supported, can any body give > suggestion on how to implement > the idle loop count for some context? > > The 'idle' counter was used in old Xen based PTLsim. When we switched to QEMU, it was little tricky to find time spent in idle loop because of the way QEMU works. So in simulation mode we decided to not to switch in QEMU mode when we encounter PAUSE instruction, instead we pause the core for fix amount of cycles (THREAD_PAUSE_CYCLES). In stats, you can check 'cycles_in_pause' to find out how many cycles a CPU was in PAUSE mode. We don't have any implementation of C-States, used in modern CPU's for energy efficient idle modes. - Avadh Thanks > Ishwar > > _______________________________________________ > http://www.marss86.org > Marss86-Devel mailing list > [email protected] > https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel > >
_______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
