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

Reply via email to