Hello, Ali Thank for you advice.
I refine the grep pattern with follow command line, $cat cache.trc | grep -E "system.l2: ReadExReq \w* hit$" | wc -l 42068 $cat cache.trc | grep -E "system.l2: ReadExReq \w* miss$" | wc -l 63564 The first command is to get the number of hit ReadExReq from traces, the second command is to get the number of miss ReadExReq from traces. As you can see, even the number of hit ReadExReq from cache.trc is much larger the total number of ReadExReq reported from stats.txt, which is 25859. I think, if the ReadExReq is hit, there is no need for a L1 cache send the request again, so the number of ReadExReq hit from two method should match with each other. While, in fact, they are not. Any other advice? Thanks again Dawei $cat parsec/blackscholes/stats.txt | grep system.l2.ReadExReq_accesses::total system.l2.ReadExReq_accesses::total 9175 # number of ReadExReq accesses(hits+misses) system.l2.ReadExReq_accesses::total 5680 # number of ReadExReq accesses(hits+misses) system.l2.ReadExReq_accesses::total 1477 # number of ReadExReq accesses(hits+misses) system.l2.ReadExReq_accesses::total 9527 # number of ReadExReq accesses(hits+misses) Total system.l2.ReadExReq_accesses of the statis.txt is 9175+5680+1477+9527= 25859 > ------------------------------ > > Message: 3 > Date: Sun, 14 Aug 2011 22:19:23 -0500 > From: Ali Saidi <[email protected]> > To: gem5 users mailing list <[email protected]> > Subject: Re: [gem5-users] Why the trace file and stats.txt file do not > match with each other? > Message-ID: <[email protected]> > Content-Type: text/plain; charset=us-ascii > > You'd need to look carefully at what you're actually seeing in the cache. If > the cache tries to send a packet multiple times, it might you'll see multiple > traces of the same request. You'll also see ReadEx requests go out of the L2. > > Ali > > On Aug 14, 2011, at 5:12 PM, Dawei Wang wrote: > >> Hello, everyone, >> >> Today I have simulate one of the PARSEC benchmarks, collecting cache >> access activities, the following is the command line >> >> build/ALPHA_FS/m5.opt --trace-start=2000000000000 >> --trace-file=cache.trc --debug-flags=Cache configs/example/fs.py -n 4 >> --script=../parsec_lib/scripts/blackscholes_4c_simdev.rcS --detailed >> --caches --l2cache -F 5000000000 >> >> I am interesting in cache coherence protocol, so I count the ReadExReq >> from cache.trc and stats.txt file. Below are the results >> >> $cat cache.trc | grep ReadExReq | wc -l >> 280468 >> >> $cat parsec/blackscholes/stats.txt | grep system.l2.ReadExReq_accesses::total >> system.l2.ReadExReq_accesses::total 9175 >> # number of ReadExReq accesses(hits+misses) >> >> system.l2.ReadExReq_accesses::total 5680 >> # number of ReadExReq accesses(hits+misses) >> >> system.l2.ReadExReq_accesses::total 1477 >> # number of ReadExReq accesses(hits+misses) >> >> system.l2.ReadExReq_accesses::total 9527 >> # number of ReadExReq accesses(hits+misses) >> >> Total system.l2.ReadExReq_accesses of the statis.txt is >> 9175+5680+1477+9527= 25859, where as the cache.trc is 280468, the >> difference is too big ( 1:10.85 ). >> >> Can anyone give a reasonable explanation? Which one should we trust, >> or both are right? >> >> Thanks in advances >> >> Dawei _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
