Yes. There are a little differences in these exit() functions. In o3 exit
function only check the current CPU's active threads but not the whole
system. These codes should be also changed to solve this problem. Right?
Jerry
On 4/20/08, Korey Sewell <[EMAIL PROTECTED]> wrote:
>
> Are you trying to run SMT or 2 CPUs?
>
> If you are trying to run two CPUs then you have to explicitly assign diff.
> workloads in your se.py file.
>
> I think O3 only checks other SMT threads before returning true on exit....
> If so, check the exit() function in in simple_thread.hh and make sure the
> one in src/cpu/o3/alpha/thread_context.hh resembles the same code...
>
>
>
> On Sun, Apr 20, 2008 at 9:19 AM, jerry lrui <[EMAIL PROTECTED]> wrote:
>
> > Korey,
> >
> > Thanks a lot! I've patched the program by using the patch you posted.
> > Now the program is running very well on SimpleCPU. But when I change the CPU
> > model to O3CPU there also seems only one workload has been run.
> >
> > system = System(cpu = [DerivO3CPU(cpu_id=0,clock="1GHz"),
> > DerivO3CPU(cpu_id=1,clock="2GHz")],
> > physmem = PhysicalMemory(range=AddrRange("512MB")),
> >
> > membus = Bus(), mem_mode = 'timing')
> >
> > Can you further check the code? I'm using M5 2.0b5 now.* *Thanks.
> >
> > Jerry
> >
> > On 4/20/08, Korey Sewell <[EMAIL PROTECTED]> wrote:
> > >
> > > I just sent out a patch that should enforce all threads finishing
> > > before ending simulation.
> > >
> > > This hasnt been implemented as a command line option yet. I'll be
> > > doing that soon ....
> > >
> > > Let me know if what I'm doing in the patch makes sense to people (or
> > > if I need to explain what I'm doing)....
> > >
> > > -Korey
> > >
> > >
> > > On Tue, Apr 15, 2008 at 11:26 AM, Korey Sewell <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > well... it's the exit() syscall and then it's modifying the
> > > > ThreadContext exit() function which is called in the exit() syscall
> > > > so
> > > > that it looks at the other threads in the system and and returns the
> > > > right value (1?) only if it is the only thread remaining.
> > > >
> > > > Something like this is already done for the O3 CPU, but not for
> > > > SimpleCPU as of yet (patch outstanding)...
> > > >
> > > > It might be a little tricky, but definitely do-able if you need it
> > > > *like now/today* instead of the pretty near future...
> > > >
> > > > FYI:
> > > > exit syscall should be found in syscall_emul.hh/cc
> > > > thread context is found in cpu/thread_context.hh
> > > >
> > > >
> > > > On Tue, Apr 15, 2008 at 11:03 AM, Ali Saidi <[EMAIL PROTECTED]> wrote:
> > > > > You can modify the exit() syscall to not exits until the number of
> > > > CPUs in
> > > > > the system all have called exit(). That would solve the problem,
> > > > however
> > > > > it's not completely clear that's what you want to do. If you're
> > > > running a
> > > > > multiprogrammed workload you probably want to capture time when
> > > > all the
> > > > > programs are running. The only reason I could see doing otherwise
> > > > was if you
> > > > > were running all the benchmarks from beginning to end.
> > > > >
> > > > > Ali
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Apr 15, 2008, at 5:57 AM, jerry lrui wrote:
> > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Thanks for all your help.
> > > > > >
> > > > > > Can you give me more details about how to control the system so
> > > > that all
> > > > > threads were done before system halt?
> > > > > >
> > > > > > Regards,
> > > > > > Jerry
> > > > > >
> > > > > > _______________________________________________
> > > > > > 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
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > ----------
> > > > Korey L Sewell
> > > > Graduate Student - PhD Candidate
> > > > Computer Science & Engineering
> > > > University of Michigan
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > ----------
> > > Korey L Sewell
> > > Graduate Student - PhD Candidate
> > > Computer Science & Engineering
> > > University of Michigan
> > > _______________________________________________
> > > 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
> >
>
>
>
> --
> ----------
> Korey L Sewell
> Graduate Student - PhD Candidate
> Computer Science & Engineering
> University of Michigan
>
> _______________________________________________
> 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