Here are a couple things in my tree that I've edited and I believe should be
changes (in some form) in
the normal M5 tree:

UPDATE: I made the  close() syscall in SE mode gives a warning and ignores
the call when the argument is between
0 and 2 (stdin, stdout, stderr).

WHY?: What happens in the spec2K sims I'm running on multiple CPUs is that
a workload finishes and uses the close() system call to close stdout
(close(1)). This has the effect of
suppressing not only the workloads output but M5's output. So, if you are
trying to debug something
after one workload finishes you'll see no debug output (since that is
redirected to stdout).

UPDATE: I made the exit() function in cpu/thread_context.hh checks to see if
other CPUs (and/or threads) are alive
before returning 1 and telling the simulation to exit.  I had done something
similar for O3. (although it just does this
for the CPU so it probably doesnt work for non-SMT, multiprogrammed
workloads that want to run to completion)

WHY: I am running spec2k on two diff. SimpleCPUs simultaneously and my sims
are being cut off short (i.e. whenever
one thread calls exit()) when I really want the whole simulation to finish.
I believe the functionality where the sim.
stops as soon as one thread stops should probably be a simulation option
instead of a simulation assumption like
we have currently and the functionality where all threads run to completion
should be the default behavior.

Thoughts? Let me know if this makes sense and is "push-able" into the
tree.... Otherwise, I'll just happily keep
it to myself!


-- 
----------
Korey L Sewell
Graduate Student - PhD Candidate
Computer Science & Engineering
University of Michigan
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to