----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.m5sim.org/r/419/#review709 -----------------------------------------------------------
SConstruct <http://reviews.m5sim.org/r/419/#comment972> clock_nanosleep isn't particularly portable. What about usleep() or nanosleep()? Both are in libc as opposed to librt and seem to exist on both my linux and and os x machine. src/sim/root.cc <http://reviews.m5sim.org/r/419/#comment973> How about just gettimeofday()? it also only support usec resolution, but it's very portable. src/sim/root.cc <http://reviews.m5sim.org/r/419/#comment974> Thanks for taking the time to do this! - Ali On 2011-01-10 07:44:05, Gabe Black wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.m5sim.org/r/419/ > ----------------------------------------------------------- > > (Updated 2011-01-10 07:44:05) > > > Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and > Nathan Binkert. > > > Summary > ------- > > Time: Add a mechanism to prevent M5 from running faster than real time. > > M5 skips over any simulated time where it doesn't have any work to do. When > the simulation is active, the time skipped is short and the work done at any > point in time is relatively substantial. If the time between events is long > and/or the work to do at each event is small, it's possible for simulated time > to pass faster than real time. When running a benchmark that can be good > because it means the simulation will finish sooner in real time. When > interacting with the real world through, for instance, a serial terminal or > bridge to a real network, this can be a problem. Human or network response > time > could be greatly exagerated from the perspective of the simulation and make > simulated events happen "too soon" from an external perspective. > > This change adds the capability to force the simulation to run no faster than > real time. It does so by scheduling a periodic event that checks to see if > its simulated period is shorter than its real period. If it is, it stalls the > simulation until they're equal. This is called time syncing. > > A future change could add pseudo instructions which turn time syncing on and > off from within the simulation. That would allow time syncing to be used for > the interactive parts of a session but then turned off when running a > benchmark using the m5 utility program inside a script. Time syncing would > probably not happen anyway while running a benchmark because there would be > plenty of work for M5 to do, but the event overhead could be avoided. > > > Diffs > ----- > > SConstruct c06505ff551e > configs/example/fs.py c06505ff551e > src/sim/Root.py c06505ff551e > src/sim/SConscript c06505ff551e > src/sim/root.hh PRE-CREATION > src/sim/root.cc c06505ff551e > > Diff: http://reviews.m5sim.org/r/419/diff > > > Testing > ------- > > > Thanks, > > Gabe > >
_______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev