Hi Vedika,

You are right, if you take a look at the AbstractController's constructor (
https://github.com/gem5/gem5/blob/stable/src/mem/ruby/slicc_interface/AbstractController.cc#L50-L67),
only the controllers with `m_version` 0 register the collateStats() for the
dump callback.
The version is the ID of the controller in its machine type, specified in
the protocol configuration file (e.g. configs/ruby/MESI_Three_Level.py).

If you want to have the stat for all the controllers, an easy way is to
register the stats in the regStats() if you are using the Stats data
structure provided in gem5 (not the ones inside mem/ruby/common).
If you are using others and need to process the stats before dumping, you
can create another function for callback, for example, localCollateStats(),
and register it as a dump callback in the constructor.

Regards,
Jiayi

On Tue, May 18, 2021 at 11:35 AM VEDIKA JITENDRA KULKARNI via gem5-users <
gem5-users@gem5.org> wrote:

> Hello,
>
> I need to get values for a new statistic I have added to Abstract
> Controller, similar to fully_busy_cycles.
> In the collateStats() function in StateMachine.py , I added the code to
> calculate the new statistic at the end of the simulation.
>
> However, only L1CacheController-0, L2CacheController and Directory-0
> shows the value of the new statistic, rest are 0.
>
> *I suspect this is because the collateStats() function is called only for
> Node-0.*
> However, I need to calculate the statistic at the end of the simulation
> for every node.
>
> *I would like to know the place from where collateStats() is called*
> *so that I can call it for every node.*
>
> *Alternatively, is there another function that is called always for all
> nodes at the end of simulation?*
>
> Thank you,
> Vedika.
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to