Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-06 Thread soumyaroop roy
Thanks, Nate. I tried to build the library using the SPARC64 toolchain available at http://www.m5sim.org/wiki/index.php/Download but I get this error: /tools/x-tools/sparc64-unknown-linux-gnu/bin/../lib/gcc/sparc64-unknown-linux-gnu/3.4.5/../../../../sparc64-unknown-linux-gnu/bin/ld:

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-05 Thread nathan binkert
The key issue is that SE mode does not support the Linux pthreads library... it's just too complicated (see http://m5sim.org/wiki/index.php/Splash_benchmarks).  Daniel Sanchez at Stanford has written a lightweight pthreads library that uses a much reduced set of syscalls that SE mode does

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-04 Thread Steve Reinhardt
(Yes, let's keep this on m5-dev. That's better policy since it lets others chime in, plus then the discussion gets archived for posterity.) The key issue is that SE mode does not support the Linux pthreads library... it's just too complicated (see

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-04 Thread soumyaroop roy
Then, which library is used to create multithreaded programs? Because that'd be relevant to the original exit() vs. exit_group() problem. Steve, when you wrote, Yes, Gabe's right... in SE mode, the Process object corresponds to what would be a regular OS process if you had an OS, so the way to

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread Steve Reinhardt
What exactly is the problem that you're encountering? Note that syscall emulation only occurs in SE mode (that's what the SE stands for). The file syscall_emul.cc doesn't even get compiled if FULL_SYSTEM is defined. Steve On Mon, Aug 31, 2009 at 1:20 PM, soumyaroop roys...@cse.usf.edu wrote:

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread soumyaroop roy
Oh, that is correct, Steve! Ok, so here's the problem: If I were to run an SMT configuration, say, 2T-hello-gzip (both compiled with gcc 4.3.2 built with linux kernel 2.6.X) as two workloads on a single processor using O3 or inorder, when hello finishes, it kills off gzip too. I figured that this

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread Steve Reinhardt
Yea, the exit() vs exit_group() distinction is relatively recent, and the initial SE-mode support predates that, which is why it isn't handled quite right. The right answer is indicated by the comment in exitGroupFunc... what you really want exit_group to do is identify all the other threads

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread Korey Sewell
In addition to what Steve said in the subsequent email, you want to verify for yourself what happens in exit / exit_group system calls get called in syscall_emul.cc. More than likely, the literal exit function gets called and stop the simulation. There are a couple of side issues: (1) Is

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread soumyaroop roy
On Tue, Sep 1, 2009 at 12:33 PM, Korey Sewell ksew...@umich.edu wrote: In addition to what Steve said in the subsequent email, you want to verify for yourself what happens in exit / exit_group system calls get called in syscall_emul.cc. More than likely, the literal exit function gets

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread Gabriel Michael Black
So, in SE mode, is there a distinction made between two threads (workloads) belonging to the same process and two threads belonging to different processes? In other words, if I were to spawn two threads from a single program, would it be possible to run them as two different h/w threads in SE

Re: [m5-dev] Syscall issue: exit() vs. exit_group()

2009-09-01 Thread Steve Reinhardt
On Tue, Sep 1, 2009 at 1:52 PM, Gabriel Michael Blackgbl...@eecs.umich.edu wrote: So, in SE mode, is there a distinction made between two threads (workloads) belonging to the same process and two threads belonging to different processes? In other words, if I were to spawn two threads from a

[m5-dev] Syscall issue: exit() vs. exit_group()

2009-08-31 Thread soumyaroop roy
Hello evebody, Here's a small observation that I made: In SMT configurations for ALPHA/Linux, the first workload that finishes terminates all the other workloads on the CPU because it makes the system call, exit_group(). This problem, however, does not surface with the hello binary checked into