Yea, this is a long-standing issue for any system that does syscall
emulation.  At runtime, the I/O library checks the output device to see if
it's line-buffered or block buffered (i.e., a tty or not), and that affects
whether or not it flushes the output buffer on a newline.  Since SE mode
just passes the syscalls through to the underlying host, the target's I/O
library can tell whether the output is being sent to the tty or to a pipe,
and the code path will change slightly depending on that.

Ideally for real simulations you'd always redirect the target's I/O to a
file and then you'll get consistent results.

Steve

On Thu, Apr 17, 2008 at 6:41 PM, Nicolas Zea <[EMAIL PROTECTED]> wrote:

> I've noticed that the final trace time in a normal run:
>
> build/ALPHA_SE/m5.opt configs/example/se.py -c
> tests/test-progs/hello/bin/alpha/linux/hello
>
> and a run that pipes the results to a file
>
> build/ALPHA_SE/m5.opt configs/example/se.py -c
> tests/test-progs/hello/bin/alpha/linux/hello | tee hello_output
>
> have different cycle times. In the case of an unmodified m5_b5, they are
> 3208500 and 2871500 respectively. Any idea what may cause this difference?
> (or does this not happen for you, in which case something very odd is going
> on on my end)
>
> -Nick_______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to