Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: SMP related diffs.



On 03/24/11 15:46, Cherry G. Mathew wrote:
> Hi Hugo,
> 
> Thanks for testing this, apologies for the broken patch-sets.
> 
> On 24 March 2011 15:32, Hugo Silva <hugo%barafranca.com@localhost> wrote:
> 
> 
>> No luck here !
>>
> 
> 
> I've updated the directory here:
> ftp://ftp.netbsd.org/pub/NetBSD/misc/cherry/tmp/port-xen/breakout/
> 
> There's a unified patch:
> ftp://ftp.netbsd.org/pub/NetBSD/misc/cherry/tmp/port-xen/breakout/xen-domu-up.diff
> 
> the other patches are broken out in separate files.
> 
> Could you try again please ?
> 
> Thanks,
> 


Hello Cherry,

First of all thank you so much for working on this! Xen SMP will be a
killer dom0/domU feature for NetBSD!

I applied the xen-domu-up.diff patch and everything went great this time.

I rebooted the VM with cpus = ["2", "3"] and vcpus=2 and got a panic.
Then changed those back, but the panic (same one) persists:

xenbus0 at hypervisor0: Xen Virtual Bus Interface
xencons0 at hypervisor0: Xen Virtual Console Driver
xencons0: using event channel 2
panic: kernel diagnostic assertion "!simple_lock_held(&evts->ev_lock)"
failed: file "/usr/src/sys/arch/xen/x86/intr.c", line 164
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff8012c2e5 cs e030 rflags 246 cr2  0 cpl 8
rsp ffffffff80980b80
Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x5:  leave
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x28c
kern_assert() at netbsd:kern_assert+0x2d
intr_calculatemasks() at netbsd:intr_calculatemasks+0x2b
event_set_handler() at netbsd:event_set_handler+0xce
xencons_attach() at netbsd:xencons_attach+0x1aa
config_attach_loc() at netbsd:config_attach_loc+0x16c
hypervisor_attach() at netbsd:hypervisor_attach+0xf5
config_attach_loc() at netbsd:config_attach_loc+0x16c
mainbus_attach() at netbsd:mainbus_attach+0x4a
config_attach_loc() at netbsd:config_attach_loc+0x16c
cpu_configure() at netbsd:cpu_configure+0x1c
main() at netbsd:main+0x200
ds          0x4c40
es          0xb90
fs          0xb90
gs          0
rdi         0x8
rsi         0xd
rbp         0xffffffff80980b80
rbx         0xffffffff80980b90
rdx         0
rcx         0x1
rax         0x1
r8          0xffffffff80980aa0
r9          0
r10         0xffffffff80980aa0
r11         0x1
r12         0x104
r13         0xffffffff80454c40  copyright+0x3cb00
r14         0xffffa00002002780
r15         0x2
rip         0xffffffff8012c2e5  breakpoint+0x5
cs          0xe030
rflags      0x246
rsp         0xffffffff80980b80
ss          0xe02b
netbsd:breakpoint+0x5:  leave
db> xenconscn_getc(): not console

(at this point, can't write anything to the domU console)


If it helps, here's my domU config:
----
kernel = "/usr/pkg/etc/xen/kern/netbsd/5.99.48/netbsd"
memory = 1024
name = "leonidas"

#cpus = ["2", "3"]
cpus = "2"
vcpus = 1

vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=bridge0' ]

disk = [
   'phy:/dev/mapper/vg0-leonidas,0x1,w',
    'file:/usr/pkg/etc/xen/iso/amd64cd-5.1.iso,0x2,r',
    ]

root = "xbd0"

# use to boot to single user (-s), etc
extra=""
----


Home | Main Index | Thread Index | Old Index