No fast forward and max inst. I compiled the binary in SPEC2006 and I didn't modify the source file. The input is from test input. I have posted the link to download the binary and input I used in my previous email, and I wrote the command I used in my first email.
My command line is: build/X86/gem5.fast configs/example/se.py --cpu-type=detailed --caches -c bzip2 -o "input.program 5" The version of my gem5 is 8981. The os I used is RHEL 6.2. The link to my binary and input: http://mail.qq.com/cgi-bin/ftnExs_download?k=0962383845ebe89e745811294262054e53570059515a0e041a555c0f544f0356540315015355534c0f530f01535253000556080a646b37034d0b480a4a105613375f&t=exs_ftn_download&code=7b88db7a On Thu, Jun 7, 2012 at 12:57 PM, Mahmood Naderan <mahmood...@gmail.com>wrote: > what input do you use? have you modify source code? How many fast > forward? how many max inst/tick? > i have not such problem with bzip2 for -F 2000000000 --maxtick 100000000000 > > On 6/7/12, mingkai huang <huangming...@gmail.com> wrote: > > Thanks! I tried that, but it seems doing that can't fix this problem. > > The output of bzip2 going wrong is many "info: Increasing stack size by > one > > page." followed by "fatal: Over max stack size for one thread". I think > > that bzip2 goes into a dead loop and increases the stack for ever. No > > matter how much stack size set, the stack will be running out. > > > > On Sun, Jun 3, 2012 at 4:23 PM, Mahmood Naderan > > <mahmood...@gmail.com>wrote: > > > >> I faced that before. Thank to Ali, the problem is now fixed > >> You should modify two files: > >> > >> 1) src/sim/process.cc > >> you should find something like this: > >> if (stack_base - stack_min > 8 * 1024 * 1024) > >> fatal("Over max stack size for one thread\n"); > >> > >> > >> 2) src/arch/x86/process.cc > >> you should find two occurrence of this statement > >> next_thread_stack_base = stack_base - (8 * 1024 * 1024); > >> > >> Now change the right side from 8*1024*1024 to whatever you want. > >> 32*1024*1024 is enough I think. > >> > >> Hope that help > >> > >> On 6/3/12, mingkai huang <huangming...@gmail.com> wrote: > >> > Hi, > >> > I am sorry to be too late to rely. > >> > I tracediffed the output of 8842 and 8841 and attached the output. I > >> > revised one place of the output format in 8841 to make the output more > >> > similar, but it seems the format changed a lot, and the diff may not > >> > be helpful. I also put a breakpoint, printed out the stack trace, and > >> > attached the output. > >> > This is the bzip2 and input I used: > >> > > >> > http://mail.qq.com/cgi-bin/ftnExs_download?k=0962383845ebe89e745811294262054e53570059515a0e041a555c0f544f0356540315015355534c0f530f01535253000556080a646b37034d0b480a4a105613375f&t=exs_ftn_download&code=7b88db7a > >> > Because of mail list size limitation, I use the qq large file > >> > attachment. > >> > Thanks! > >> > > >> > On Thu, May 17, 2012 at 6:49 AM, Steve Reinhardt <ste...@gmail.com> > >> wrote: > >> >> Hi Mingkai, > >> >> > >> >> Can you run under gdb, put a breakpoint on this fatal statement > (which > >> is > >> >> in > >> >> Process::fixupStackFault() in sim/process.cc), print out the stack > >> >> trace > >> >> when you hit it, and mail that to the list? > >> >> > >> >> I wonder if the new branch predictor is causing some different > >> wrong-path > >> >> execution, and that we are erroneously calling fatal() on something > >> >> that > >> >> looks like a stack fault but is actually a misspeculated instruction. > >> >> > >> >> Given that all the regressions pass, I doubt the new branch predictor > >> >> is > >> >> actually changing the committed execution path. That's why I think > it > >> >> may > >> >> have something to do with a bug in how we handle misspeculation. > >> >> > >> >> If anyone knows the code well enough to say whether this seems likely > >> >> or > >> >> unlikely, that would be helpful. > >> >> > >> >> Steve > >> >> > >> >> > >> >> On Wed, May 16, 2012 at 3:09 PM, Geoffrey Blake <bla...@umich.edu> > >> wrote: > >> >>> > >> >>> Unfortunately the CheckerCPU does not work for x86 and is only > >> >>> verified as working on ARM. It needs some additional work to support > >> >>> the representation of machine instructions for x86. > >> >>> > >> >>> Geoff > >> >>> > >> >>> On Tue, May 15, 2012 at 7:43 AM, Gabe Black <gbl...@eecs.umich.edu> > >> >>> wrote: > >> >>> > The change may have made the branch predictor code behave > >> incorrectly, > >> >>> > for instance an instruction could execute twice, a misspeculated > >> >>> > instruction could sneak through and commit, an instruction could > be > >> >>> > skipped, a branch could be "corrected" to go down the wrong path. > >> >>> > There > >> >>> > are lots of things that could go wrong. Alternatively, the branch > >> >>> > predictor might have just gotten better and put more stress on > some > >> >>> > other part of the CPU, or coincidentally lined up circumstances > >> >>> > which > >> >>> > expose another bug. You should try to find where execution > diverges > >> >>> > between O3 and the atomic CPU, possibly using tracediff or > possibly > >> >>> > using the checker CPU. I'm not sure the checker works correctly > >> >>> > with > >> >>> > x86, but if it does this is pretty much exactly what it's for. > >> >>> > > >> >>> > Gabe > >> >>> > > >> >>> > On 05/14/12 17:22, mingkai huang wrote: > >> >>> >> Hi, > >> >>> >> I tried to use gem5 to run SPEC2006 in x86 O3 mode. When I ran > >> bzip2, > >> >>> >> it failed with: > >> >>> >> fatal: Over max stack size for one thread > >> >>> >> My command line is: > >> >>> >> build/X86/gem5.fast configs/example/se.py --cpu-type=detailed > >> >>> >> --caches > >> >>> >> -c bzip2 -o "input.program 5" > >> >>> >> The version of my gem5 is 8981. > >> >>> >> Bzip2 can run correctly in atomic mode. > >> >>> >> I binary searched where the problem happened first, and found > >> version > >> >>> >> 8842. I noticed this patch is about branch prediction, and I > don't > >> >>> >> understand why this can affect the correctness of an application. > >> >>> >> Before 8842, Bzip2 can run correctly in both mode, but the > >> >>> >> outputed > >> >>> >> numbers of "info: Increasing stack size by one page." are not > >> >>> >> equal. > >> >>> >> Because of email size limitation, I can't attached the file I > >> >>> >> used. > >> >>> >> > >> >>> > > >> >>> > _______________________________________________ > >> >>> > 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 > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> gem5-users mailing list > >> >> gem5-users@gem5.org > >> >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > >> > > >> > > >> > > >> > -- > >> > Best regards, > >> > Mingkai Huang > >> > > >> > >> > >> -- > >> // Naderan *Mahmood; > >> _______________________________________________ > >> gem5-users mailing list > >> gem5-users@gem5.org > >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > >> > > > > > > > > -- > > Best regards, > > Mingkai Huang > > > > > -- > // Naderan *Mahmood; > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- Best regards, Mingkai Huang
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users