correct, changing that will do the trick in a similar fashion.What you
probably want to do is implement the exit function in
cpu/o3/thread_context.hh so that it's architecture independent.
Soon, both exit() functions need to be toggled using some simulation option
as well.
On Sun, Apr 20, 2008 at 11:42 AM, jerry lrui <[EMAIL PROTECTED]> wrote:
> 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
>
--
----------
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