Re: [m5-dev] suspending unallocated context

2009-02-28 Thread Gabe Black
It looks like Alpha turns on all the CPUs to start with where x86 only 
turns on the BP and brings up the APs with IPIs. I think SPARC is 
actually more similar, but it looks like I'm already doing what it's 
doing. I remember Ali fixed some of the SPARC SMP boot issues recently, 
but I looking at that it doesn't seem to address this sort of thing.

Gabe

Steve Reinhardt wrote:
 Recalling from some of the issues with getting O3 MT to work, I
 believe there's a general confusion and inconsistency with respect to
 the meanings of suspended, unallocated, and perhaps other states.
 It's possible (maybe even likely) that the code that does SE-mode MT
 apps like SPLASH has requirements that are inconsistent with FS mode.
 So there's no right answer short of figuring out how it ought to be
 and fixing the half of the code that assumes something different.

 Can you tell how it works in Alpha FS?  Seems like x86 shouldn't be
 any different.

 Steve

 On Sat, Feb 28, 2009 at 12:48 PM, Gabe Black gbl...@eecs.umich.edu wrote:
   
I'm trying to bring up SMP under x86 FS, and I'm not able to wake up
 any AP because the wakeup function gives up if the CPU isn't suspended.
 The CPUs I'm working with are actually unallocated, so nothing happens.
 I had startupCPU set up to suspend the APs as the came up, but that
 causes a problem with the simple CPUs which insist the thread is
 Running, and again it's Unallocated. How is this supposed to work? Do I
 have to activate and then suspend a context? Or did somebody just leave
 a possible option out of an assert someplace?

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
   

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] suspending unallocated context

2009-02-28 Thread Gabe Black
I'm going to go with the theory that the wake up function needs to wake 
up unallocated CPUs too.

Gabe

Gabe Black wrote:
 It looks like Alpha turns on all the CPUs to start with where x86 only 
 turns on the BP and brings up the APs with IPIs. I think SPARC is 
 actually more similar, but it looks like I'm already doing what it's 
 doing. I remember Ali fixed some of the SPARC SMP boot issues recently, 
 but I looking at that it doesn't seem to address this sort of thing.

 Gabe

 Steve Reinhardt wrote:
   
 Recalling from some of the issues with getting O3 MT to work, I
 believe there's a general confusion and inconsistency with respect to
 the meanings of suspended, unallocated, and perhaps other states.
 It's possible (maybe even likely) that the code that does SE-mode MT
 apps like SPLASH has requirements that are inconsistent with FS mode.
 So there's no right answer short of figuring out how it ought to be
 and fixing the half of the code that assumes something different.

 Can you tell how it works in Alpha FS?  Seems like x86 shouldn't be
 any different.

 Steve

 On Sat, Feb 28, 2009 at 12:48 PM, Gabe Black gbl...@eecs.umich.edu wrote:
   
 
I'm trying to bring up SMP under x86 FS, and I'm not able to wake up
 any AP because the wakeup function gives up if the CPU isn't suspended.
 The CPUs I'm working with are actually unallocated, so nothing happens.
 I had startupCPU set up to suspend the APs as the came up, but that
 causes a problem with the simple CPUs which insist the thread is
 Running, and again it's Unallocated. How is this supposed to work? Do I
 have to activate and then suspend a context? Or did somebody just leave
 a possible option out of an assert someplace?

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 
   
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
   
 

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev
   

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] suspending unallocated context

2009-02-28 Thread nathan binkert
I agree that this stuff is all messed up.  There's threads and cpus
each which have various states that don't necessarily work with each
other.  Some of the states have to do with indicating that a CPU has
nothing to do at the moment so we don't need to schedule a tick, and
some indicate the type of stuff that Gabe is discussing.

  Nate

On Sat, Feb 28, 2009 at 1:08 PM, Steve Reinhardt ste...@gmail.com wrote:
 Recalling from some of the issues with getting O3 MT to work, I
 believe there's a general confusion and inconsistency with respect to
 the meanings of suspended, unallocated, and perhaps other states.
 It's possible (maybe even likely) that the code that does SE-mode MT
 apps like SPLASH has requirements that are inconsistent with FS mode.
 So there's no right answer short of figuring out how it ought to be
 and fixing the half of the code that assumes something different.

 Can you tell how it works in Alpha FS?  Seems like x86 shouldn't be
 any different.

 Steve

 On Sat, Feb 28, 2009 at 12:48 PM, Gabe Black gbl...@eecs.umich.edu wrote:
    I'm trying to bring up SMP under x86 FS, and I'm not able to wake up
 any AP because the wakeup function gives up if the CPU isn't suspended.
 The CPUs I'm working with are actually unallocated, so nothing happens.
 I had startupCPU set up to suspend the APs as the came up, but that
 causes a problem with the simple CPUs which insist the thread is
 Running, and again it's Unallocated. How is this supposed to work? Do I
 have to activate and then suspend a context? Or did somebody just leave
 a possible option out of an assert someplace?

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] suspending unallocated context

2009-02-28 Thread Korey Sewell
Nate,
are you referring to the CPU's state vs. the actual thread-object's state?

That connection between the two in my opinion has been ad-hoc for
awhile or at least beyond my complete understanding.

Changing things for FS breaks SE and vice-versa.

Needless to say, we should probably get this straightened out and
documented in the near future...


On Sat, Feb 28, 2009 at 9:30 PM, nathan binkert n...@binkert.org wrote:
 I agree that this stuff is all messed up.  There's threads and cpus
 each which have various states that don't necessarily work with each
 other.  Some of the states have to do with indicating that a CPU has
 nothing to do at the moment so we don't need to schedule a tick, and
 some indicate the type of stuff that Gabe is discussing.

  Nate

 On Sat, Feb 28, 2009 at 1:08 PM, Steve Reinhardt ste...@gmail.com wrote:
 Recalling from some of the issues with getting O3 MT to work, I
 believe there's a general confusion and inconsistency with respect to
 the meanings of suspended, unallocated, and perhaps other states.
 It's possible (maybe even likely) that the code that does SE-mode MT
 apps like SPLASH has requirements that are inconsistent with FS mode.
 So there's no right answer short of figuring out how it ought to be
 and fixing the half of the code that assumes something different.

 Can you tell how it works in Alpha FS?  Seems like x86 shouldn't be
 any different.

 Steve

 On Sat, Feb 28, 2009 at 12:48 PM, Gabe Black gbl...@eecs.umich.edu wrote:
    I'm trying to bring up SMP under x86 FS, and I'm not able to wake up
 any AP because the wakeup function gives up if the CPU isn't suspended.
 The CPUs I'm working with are actually unallocated, so nothing happens.
 I had startupCPU set up to suspend the APs as the came up, but that
 causes a problem with the simple CPUs which insist the thread is
 Running, and again it's Unallocated. How is this supposed to work? Do I
 have to activate and then suspend a context? Or did somebody just leave
 a possible option out of an assert someplace?

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev




-- 
--
Korey L Sewell
Graduate Student - PhD Candidate
Computer Science  Engineering
University of Michigan
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] suspending unallocated context

2009-02-28 Thread nathan binkert
Yep.

On Sat, Feb 28, 2009 at 6:40 PM, Korey Sewell ksew...@umich.edu wrote:
 Nate,
 are you referring to the CPU's state vs. the actual thread-object's state?

 That connection between the two in my opinion has been ad-hoc for
 awhile or at least beyond my complete understanding.

 Changing things for FS breaks SE and vice-versa.

 Needless to say, we should probably get this straightened out and
 documented in the near future...


 On Sat, Feb 28, 2009 at 9:30 PM, nathan binkert n...@binkert.org wrote:
 I agree that this stuff is all messed up.  There's threads and cpus
 each which have various states that don't necessarily work with each
 other.  Some of the states have to do with indicating that a CPU has
 nothing to do at the moment so we don't need to schedule a tick, and
 some indicate the type of stuff that Gabe is discussing.

  Nate

 On Sat, Feb 28, 2009 at 1:08 PM, Steve Reinhardt ste...@gmail.com wrote:
 Recalling from some of the issues with getting O3 MT to work, I
 believe there's a general confusion and inconsistency with respect to
 the meanings of suspended, unallocated, and perhaps other states.
 It's possible (maybe even likely) that the code that does SE-mode MT
 apps like SPLASH has requirements that are inconsistent with FS mode.
 So there's no right answer short of figuring out how it ought to be
 and fixing the half of the code that assumes something different.

 Can you tell how it works in Alpha FS?  Seems like x86 shouldn't be
 any different.

 Steve

 On Sat, Feb 28, 2009 at 12:48 PM, Gabe Black gbl...@eecs.umich.edu wrote:
    I'm trying to bring up SMP under x86 FS, and I'm not able to wake up
 any AP because the wakeup function gives up if the CPU isn't suspended.
 The CPUs I'm working with are actually unallocated, so nothing happens.
 I had startupCPU set up to suspend the APs as the came up, but that
 causes a problem with the simple CPUs which insist the thread is
 Running, and again it's Unallocated. How is this supposed to work? Do I
 have to activate and then suspend a context? Or did somebody just leave
 a possible option out of an assert someplace?

 Gabe
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev

 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev




 --
 --
 Korey L Sewell
 Graduate Student - PhD Candidate
 Computer Science  Engineering
 University of Michigan
 ___
 m5-dev mailing list
 m5-dev@m5sim.org
 http://m5sim.org/mailman/listinfo/m5-dev


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev