[gem5-users] allocOnFill() function in cache.hh

2017-08-03 Thread Muhammad Avais
Hi,

There is alloconfill() function in gem5. This determines whether data is
allocated in cache upon miss in L1 cache or not.

Ideally, If cache is mostly exclusive then data should not be allocated in
cache upon miss in L1 cache.

But this function loads data in 'mostly exclusive' upon miss in L1 cache in
some cases( if commands are WriteLineReq, ReadReq and WriteReq).

Can anyone explain, why this function
checks  commands(WriteLineReq, ReadReq and WriteReq) in order to fill data
in mostly exclusive cache

https://github.com/gem5/gem5/blob/master/src/mem/cache/cache.hh
/**
  * Determine whether we should allocate on a fill or not. If this
  * cache is mostly inclusive with regards to the upstream cache(s)
  * we always allocate (for any non-forwarded and cacheable
  * requests). In the case of a mostly exclusive cache, we allocate
  * on fill if the packet did not come from a cache, thus if we:
  * are dealing with a whole-line write (the latter behaves much
  * like a writeback), the original target packet came from a
  * non-caching source, or if we are performing a prefetch or LLSC.
  *
  * @param cmd Command of the incoming requesting packet
  * @return Whether we should allocate on the fill
  */
  inline bool allocOnFill(MemCmd cmd) const override
  {
  return clusivity == Enums::mostly_incl ||
  cmd == MemCmd::WriteLineReq ||
  cmd == MemCmd::ReadReq ||
  cmd == MemCmd::WriteReq ||
  cmd.isPrefetch() ||
  cmd.isLLSC();
  }
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] ECB/CLFLUSH instruction implementations

2017-08-03 Thread Ashish Ranjan
Hi,

As mentioned in this thread, I also had similar requirements, i.e. using
CLFLUSH for selectively flushing data from the cache in x86. I found this
thread discussing about a patch in the main repo. However, I do not see any
patch with the CLFLUSH support on the review board. Could you please point
me to the relevant patch for the same?

Regards,
Ashish


On Thu, Apr 21, 2016 at 2:51 PM, Swapnil Haria 
wrote:

> Gnanambikai Krishnakumar  gmail.com> writes:
> >
> >
> >
> >
> > Hello everyone,
> > I want to selectively flush data from the caches.I get this warning on
> running my program. warn: instruction 'ecb' unimplemented.Is there any
> patch
> available for ECB (ALPHA) or CLFLUSH (X86) instructions? Any pointers would
> appreciated.
> > Thanks & Regards,
> > Gnanambikai
> >
> >
> > ___
> > gem5-users mailing list
> > gem5-users  gem5.org
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
>
> Hey Gnanambikai,
>
> I have implemented clflush in my local copy of gem5. I haven't gotten
> around
> to submitting it to the main repo yet. Hopefully, I will do it within two
> weeks. Once it is submitted for review, you can find the patch here -
> http://reviews.gem5.org/r/
>
> -Swapnil
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] Stats in garnet 2.0

2017-08-03 Thread Tushar Krishna
To get utilization of individual links, go to GarnetNetwork.cc 
 … you’ll see that it gets the link utilization of 
each link and aggregates it. You can print each of them out instead.



> On Jul 29, 2017, at 2:42 PM, SHARJEEL KHILJI  
> wrote:
> 
> Hi,
> I am running ARM NoC garnet 2.0 Mesh. I want to know that during execution of 
> a program which link in the Mesh gets more busy? Is there any stat that can 
> report this. There is already a stat "m_total_int_link_utilization" which 
> reports the link utilization of all the internal links. Is there a way to get 
> individual link utilization? 
> Any suggestions ?? 
> 
> best regards,
> 
> Muhammad  
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users