Hello I am modelling a Ruby based CHI multicore, 3-cluster system with two different configs. In one config, all the cluster CPUs have a private L2$ and in the other config, for two clusters, the CPUs share an L2$.
I wanted to check the snoop out traffic at the L2$ controller and the HNCache controller (in the HNF a shared L3$ is modelled) for the two different configs. In the stats.txt, I have been looking at the cpux.l2.snpOut.m_buf_msgs metric. Each of the L2CacheController and HNFCacheController processes the incoming snpIn request and if the requested cache line resides in another CPU cache will send out the snpOut request to the CHI network. Now in MessageBuffer.cc, we have MessageBuffer::MessageBuffer(const Params &p) : SimObject(p), m_stall_map_size(0), m_max_size(p.buffer_size), m_time_last_time_size_checked(0), m_time_last_time_enqueue(0), m_time_last_time_pop(0), m_last_arrival_time(0), m_strict_fifo(p.ordered), m_randomization(p.randomization), m_allow_zero_latency(p.allow_zero_latency), ADD_STAT(m_not_avail_count, "Number of times this buffer did not have " "N slots available"), ADD_STAT(m_buf_msgs, "Average number of messages in buffer"), So as I understand it, each snpOut request that the CacheController generates will get buffered in the corresponding snpOut MessageBuffer first, then arbitrate for access to the network and once arbitration is won, the request is sent out to the CHI interconnect. A couple of questions: 1) Will snpOut.m_buf_msgs give an accurate account of the number of snpOut requests that the CacheController has generated? 2) Is it possible for the request to be buffered in the snpOut Message buffer and if there is no conflict to the network, the request could be sent out to the network on the next clock cycle? If yes, then will this be visible in the snpOut.m_buf_msgs metric? 3) For snpOut.m_msg_bufs, how is the "Average number of messages in the buffer" actually being computed? Tks in advance JO
_______________________________________________ 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