Thanks for the help.
It turns out I was misreading the debug flags. The cache operation does respond. The real problem that I was facing was that there was no available dcache slots. I dug in a little and I saw that I had two consecutive load operation. Both occupy dcache slot on stage 3 and should release it upon completion of cache access on stage4. However when the first one has a cache miss it squashed the second and for some reason the dcache slot is not released. I fixed that, but now I found out that the first load doesn't release its slot either. I'll dig into that but for now I wanted to let you know that the cache does work as expected. Yuval From: [email protected] [mailto:[email protected]] On Behalf Of Korey Sewell Sent: Tuesday, May 15, 2012 7:55 PM To: gem5 users mailing list Subject: Re: [gem5-users] Switch on cache miss in SE mode Unfortunately, that hasn't been tested in awhile and isnt in the regression tree. I'd guess one of the recent changes might have provided a bug for the switch-on-cache miss functionality. What you need to do is run gem5 w/trace flags on "InOrderCPUAll,Exec" and figure out what's the last instruction that is executed for each thread as well as what instruction is waiting for memory to come back. Maybe you can turn on just the trace for memory in InOrder (InOrderCacheUnit?) or even the cache trace (Cache?) and then what you'll see is one instruction going out and not being acknowledged when it comes back. It could be as simple as waking up the CPU with the activity counter on the cache miss. If you start digging into these traces and debugging, we can help you debug this a bit. It's just a matter of identifying which instruction did the CPU go to sleep on and that will lead you to the surrounding cause of it not waking up properly. On Tue, May 15, 2012 at 12:28 PM, Yuval H. Nacson <[email protected]> wrote: Sorry for late response. I'm running the in-order model. Thanks, Yuval Date: Sun, 13 May 2012 03:31:47 -0400 From: Korey Sewell <[email protected]> To: gem5 users mailing list <[email protected]> Subject: Re: [gem5-users] Switch on cache miss in SE mode Message-ID: <CABVets7VC5m6KC2MatgSqMNh=d_q7ve523cvx0wt_fm71j_...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" what CPU model are you running? On Sat, May 12, 2012 at 9:19 AM, Yuval H. Nacson <[email protected] > wrote: > Hello,**** > > ** ** > > I'm new to gem5.**** > > I'm trying to run 2 threads in ALPHA SE mode. The simulation runs for a > very short while and I get the following message:**** > > Exiting @ tick 9223372036854775807 because simulate() limit reached.**** > > Turning on the debug flags I see that on the first data cache miss the > simulator suspends the active thread and activates the next ready thread. > When both of my threads are suspended the CPU "goes to sleep" and never > awaken again.**** > > I dug into the code a bit and my guess is that the cache never signals a > suspended thread that he completed the memory access and the suspended > thread never checks it.**** > > ** ** > > Is there any solution for this problem? Or any suggestion for how should I > fix it?**** > > ** ** > > Thanks,**** > > Yuval.**** > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- - Korey _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- - Korey
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
