[gem5-dev] Cron m5test@zizzer /z/m5/regression/do-regression quick
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/inorder-timing passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/o3-timing passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-atomic passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby passed. * build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing passed. * build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing passed. * build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-atomic passed. * build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-atomic-mp passed. * build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-timing passed. * build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-timing-mp passed. * build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby passed. * build/ALPHA/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby passed. * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic passed. * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual passed. * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing passed. * build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual passed. * build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic passed. * build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_MOESI_hammer/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer passed. * build/ALPHA_MOESI_hammer/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer passed. * build/ALPHA_MESI_Two_Level/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MESI_Two_Level passed. * build/ALPHA_MESI_Two_Level/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MESI_Two_Level passed. * build/ALPHA_MESI_Two_Level/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MESI_Two_Level passed. * build/ALPHA_MESI_Two_Level/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MESI_Two_Level passed. * build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory passed. * build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_directory passed. * build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_token passed. * build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token passed. * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/inorder-timing passed. * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing passed. * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic passed. * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing passed. * build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby passed. * build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest passed. * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem passed. * build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl passed. * build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing passed. * build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic passed. * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/inorder-timing passed.* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic passed. * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing passed. * build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby passed. * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/inorder-timing passed. * build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing passed. *
Re: [gem5-dev] Review Request 2279: cpu: `Minor' in-order CPU model
On June 4, 2014, 8:15 p.m., Steve Reinhardt wrote: src/cpu/minor/Expr.py, line 48 http://reviews.gem5.org/r/2279/diff/1/?file=39827#file39827line48 This is pretty interesting... it would be nice to generalize this capability and not make it Minor-specific Andrew Bardsley wrote: Yeah. MinorExpr could easily be hoisted upwards and lose its Minor prefix (It doesn't have any dependencies on Minor). Maybe TimingExpr or something like that (to disambiguate and suggest its function a bit more) would be a good name? In r2: I've moved Minor::Expr up to be in src/cpu as TimingExpr On June 4, 2014, 8:15 p.m., Steve Reinhardt wrote: src/cpu/minor/ticked.hh, line 60 http://reviews.gem5.org/r/2279/diff/1/?file=39861#file39861line60 This seems like it could be useful outside of Minor... perhaps we should put it in src/sim, or even just integrate this functionality with ClockedObject Andrew Bardsley wrote: Yes, the 'evaluate' member function on Ticked could be hoisted up to ClockedObject. The cycle accounting in TickedModule could potentially also go that way. I didn't make that change as I didn't want to try and have the interface blessed/promoted by trying to affect a core class (and set precedent and pass the tighter review that that demands). You can see, in Ticked, my preference for building 'interface'-like classes and using multiple inheritance for interface-link classes. In this case, Ticked isn't used (any more, it was previously) in contexts where the 'virtual' qualification on its member functions is used anymore, so arguably it isn't really functioning as a base class anymore. I would suggest dropping Ticked and just folding its member functions into Stage and TickedModule. (I don't believe 'Ticked */' is ever used) In r2: In the end I didn't remove Ticked. It felt wrong to remove such an obviously 'base'/interface definition. On June 4, 2014, 8:15 p.m., Steve Reinhardt wrote: src/cpu/minor/ticked.hh, line 67 http://reviews.gem5.org/r/2279/diff/1/?file=39861#file39861line67 We also have various objects that have dump() or print() methods... it would be nice to standardize this Andrew Bardsley wrote: Actually, report is specifically used here for MinorTrace. Its name possibly should reflect just that. Maybe Ticked should have been be MinorTicked? ...::report should almost certainly really be ...::minorTrace to reflect this specialised use. I think there are three interesting opportunities here: 1) Standardise a name/maybe some flags for micro-architectural dumping 2) Standardise a format for human-readable dump 3) Standardise a format for machine-readable dump MinorTrace is horribly verbose but a it's a crack at doing point 3. In r2: I've renamed 'report' to 'minorTrace' to reflect its very specific role in Minor. On June 4, 2014, 8:15 p.m., Steve Reinhardt wrote: src/cpu/minor/ticked.hh, line 74 http://reviews.gem5.org/r/2279/diff/1/?file=39861#file39861line74 integrating with ClockedObject would eliminate the multiple inheritance... not that MI is totally evil, but it's always better to avoid it when possible Andrew Bardsley wrote: I think I've answered that one above. In r2: see above On June 4, 2014, 8:15 p.m., Steve Reinhardt wrote: src/cpu/minor/trace.hh, line 63 http://reviews.gem5.org/r/2279/diff/1/?file=39862#file39862line63 This would be very useful outside of Minor... should go in src/base/trace.hh, IMO Andrew Bardsley wrote: Yes, it would and it could be used to clean up some of annoying ambiguities around DPRINTF use and maybe even replace the DPRINTF macros with functions. Using Named to replace _name/name in SimObject would sort of open up the interface-like MI question. (Named isn't actually an interface as it has a data member). I suggest moving Named into src/base/trace.hh so it can be optionally used, but not go as far as trying to strongly suggest its usage by making SimObject adopt it. Thoughts? In r2: I've moved Named into src/base/trace.hh as another convenience definition (alongside StringWrap). - Andrew --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2279/#review5125 --- On June 17, 2014, 5:03 p.m., Ali Saidi wrote: --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2279/ --- (Updated June 17, 2014, 5:03 p.m.) Review request for Default. Repository: gem5 Description --- Changeset 10237:5794a56b79c4 --- cpu: `Minor' in-order CPU model