I wrote:

> David wrote:
> 
> > On Wed, Jan 30, 2008 at 08:35:13AM -0800, J?rgen Keil wrote:
> > > Can anyone else reproduce opensolaris PV domU hangs
> > > during domU boot, when the domU is using an root filesystem
> > > on an nfs server and the domU is configured with more than
> > > one vcpu?
> > 
> > I don't have this set up at the moment, but it definitely worked ~6
> > months ago (even 32 way).
> 
> Hmm, this could be a generic S-x86 mp architecture bug (?).
> 
> Under xVM, this happens:

The same hang occurs on a different MP machine,
on metal, when booting diskless:

- Intel(r) CPU T2500  @ 2.00GHz, dual core cpu
- 2GB memory
- Mainboard: N4L-VM-ASUS-DH

This box is hanging when cpu1 is started.

Using a kernel which has the add_cpunode2devtree()
call moved after the spl0() call in mp_startup(), and
with ucode_check() disabled ("ret" instruction patched
at the start of ucode_check()), the above system is
booting diskless just fine.

See also:
http://www.opensolaris.org/jive/thread.jspa?messageID=198974#198974


It seems the code in mp_startup() should either:

avoid calling functions that load files (e.g. microcode
update files) / kernel modules ("cpudrv") (or could
trigger device interrupts) while a non-boot cpu is started,
and has the spl raised, and already has interrupt
handlers re-assigned to the new cpu

Or:

re-distribute interrupts to the new cpu only after 
the spl is lowered to 0, in mp_startup().
 
 
This message posted from opensolaris.org

Reply via email to