Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Apr 2010 07:39:02 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Guillaume Seigneuret <gs@omegacube.fr>
Cc:        freebsd-xen@freebsd.org
Subject:   Re: Xen 8 & 9 DomU kernel panic with 2 or more virtual CPU
Message-ID:  <u2xd763ac661003311639qccae0258yd885cff8c9bf02fb@mail.gmail.com>
In-Reply-To: <00ba01cad0f2$30fed2f0$92fc78d0$@fr>
References:  <00ba01cad0f2$30fed2f0$92fc78d0$@fr>

next in thread | previous in thread | raw e-mail | index | archive | help
The last time I checked, FreeBSD/DomU was highly buggy, and this
includes SMP support.

I never managed to get around to figuring out what wasn't being locked
correctly. :/


Adrian


On 1 April 2010 00:49, Guillaume Seigneuret <gs@omegacube.fr> wrote:
> Dear all,
>
>
>
> When I try to make FreeBSD work in Xen domU with multiple vcups, I got a
> kernel panic. If someone have a clue .
>
>
>
> I got the following error :
>
>
>
> WARNING: loader(8) metadata is missing!
>
> GDB: no debug ports present
>
> KDB: debugger backends: ddb
>
> KDB: current backend: ddb
>
> Copyright (c) 1992-2010 The FreeBSD Project.
>
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>
> =A0 =A0 =A0 =A0The Regents of the University of California. All rights re=
served.
>
> FreeBSD is a registered trademark of The FreeBSD Foundation.
>
> FreeBSD 9.0-CURRENT #1: Tue Mar 23 20:38:17 CET 2010
>
> =A0 =A0drgkill@RedProxy2:/usr/obj/usr/src/sys/XEN i386
>
> WARNING: WITNESS option enabled, expect reduced performance.
>
> Xen reported: 2526.982 MHz processor.
>
> Timecounter "ixen" frequency 1000000000 Hz quality 0
>
> CPU: Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 X3440 =A0@ 2.53GHz (2526.98=
-MHz 686-class
> CPU)
>
> =A0Origin =3D "GenuineIntel" =A0Id =3D 0x106e5 =A0Family =3D 6 =A0Model =
=3D 1e =A0Stepping =3D
> 5
>
>
> Features=3D0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PG=
E,MCA
> ,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>
>
> Features2=3D0x98e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xT=
PR,PD
> CM,SSE4.1,SSE4.2,POPCNT>
>
> =A0AMD Features=3D0x28100000<NX,RDTSCP,LM>
>
> =A0AMD Features2=3D0x1<LAHF>
>
> =A0TSC: P-state invariant
>
>
>
> Data TLB: 4 KB pages, 4-way set associative, 64 entries
>
> 1st-level data cache: 32 KB, 8-way set associative, 64 byte line size
>
> L2 cache: 256 kbytes, 8-way associative, 64 bytes/line
>
> real memory =A0=3D 536870912 (512 MB)
>
> Physical memory chunk(s):
>
> 0x00000000007f0000 - 0x000000001f638fff, 518295552 bytes (126537 pages)
>
> avail memory =3D 515362816 (491 MB)
>
> APIC: Using the MPTable enumerator.
>
> SMP: Added CPU 0 (BSP)
>
> ULE: setup cpu 0
>
> [XEN] IPI cpu=3D0 irq=3D128 vector=3DRESCHEDULE_VECTOR (0)
>
> [XEN] IPI cpu=3D0 irq=3D129 vector=3DCALL_FUNCTION_VECTOR (1)
>
> Event-channel device installed.
>
> mem: <memory>
>
> Pentium Pro MTRR support enabled
>
> nfslock: pseudo-device
>
> null: <null device, zero device>
>
> random: <entropy source, Software, Yarrow>
>
> io: <I/O>
>
> crypto: <crypto core>
>
> Grant table initialized
>
> xenbus0: <Xen Devices> on motherboard
>
> xc0: <Xen Console> on motherboard
>
> kernel trap 12 with interrupts disabled
>
> Fatal trap 12: page fault while in kernel mode
>
> cpuid =3D 0; apic id =3D 00
>
> fault virtual address =A0 =3D 0x8
>
> fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read, page not prese=
nt
>
> instruction pointer =A0 =A0 =3D 0x21:0xc0389142
>
> stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x29:0xc06c6ad8
>
> frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x29:0xc06c6af0
>
> code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1=
b
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D DPL 1, pres 1, def32 1=
, gran 1
>
> processor eflags =A0 =A0 =A0 =A0=3D resume, IOPL =3D 0
>
> current process =A0 =A0 =A0 =A0 =3D 0 (swapper)
>
> [ thread pid 0 tid 100000 ]
>
> Stopped at =A0 =A0 =A0intr_execute_handlers+0x12: =A0 =A0 movl =A0 =A00x8=
(%ebx),%eax
>
> db>
>
> db>
>
> db> show alllocks
>
> Process 0 (kernel) thread 0xc044f430 (100000)
>
> exclusive sleep mutex Giant (Giant) r =3D 0 (0xc0450c50) locked @
> /usr/src/sys/kern/kern_module.c:117
>
>
>
>
>
> Or :
>
>
>
> Started domain RedProxy2 (id=3D23)
>
> WARNING: loader(8) metadata is missing!
>
> GDB: no debug ports present
>
> KDB: debugger backends: ddb
>
> KDB: current backend: ddb
>
> Copyright (c) 1992-2010 The FreeBSD Project.
>
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>
> =A0 =A0 =A0 =A0The Regents of the University of California. All rights re=
served.
>
> FreeBSD is a registered trademark of The FreeBSD Foundation.
>
> FreeBSD 9.0-CURRENT #1: Tue Mar 23 20:38:17 CET 2010
>
> =A0 =A0drgkill@RedProxy2:/usr/obj/usr/src/sys/XEN i386
>
> WARNING: WITNESS option enabled, expect reduced performance.
>
> Xen reported: 2526.984 MHz processor.
>
> Timecounter "ixen" frequency 1000000000 Hz quality 0
>
> CPU: Intel(R) Xeon(R) CPU =A0 =A0 =A0 =A0 =A0 X3440 =A0@ 2.53GHz (2526.98=
-MHz 686-class
> CPU)
>
> =A0Origin =3D "GenuineIntel" =A0Id =3D 0x106e5 =A0Family =3D 6 =A0Model =
=3D 1e =A0Stepping =3D
> 5
>
>
> Features=3D0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PG=
E,MCA
> ,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>
>
> Features2=3D0x98e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xT=
PR,PD
> CM,SSE4.1,SSE4.2,POPCNT>
>
> =A0AMD Features=3D0x28100000<NX,RDTSCP,LM>
>
> =A0AMD Features2=3D0x1<LAHF>
>
> =A0TSC: P-state invariant
>
>
>
> Data TLB: 4 KB pages, 4-way set associative, 64 entries
>
> 1st-level data cache: 32 KB, 8-way set associative, 64 byte line size
>
> L2 cache: 256 kbytes, 8-way associative, 64 bytes/line
>
> real memory =A0=3D 536870912 (512 MB)
>
> Physical memory chunk(s):
>
> 0x00000000007f0000 - 0x000000001f638fff, 518295552 bytes (126537 pages)
>
> avail memory =3D 515362816 (491 MB)
>
> APIC: Using the MPTable enumerator.
>
> SMP: Added CPU 0 (BSP)
>
> SMP: Added CPU 1 (AP)
>
> gdtpfn=3D219746 pdptpfn=3D5cc05
>
> panic: HYPERVISOR_vcpu_op(VCPUOP_initialise, cpu, &ctxt):
> /usr/src/sys/i386/xen/mp_machdep.c:927
>
> cpuid =3D 0
>
> KDB: enter: panic
>
>
>
> Here are the kernel informations :
>
> uname -a
>
> FreeBSD RedProxy2 9.0-CURRENT FreeBSD 9.0-CURRENT
>
>
>
> Kernel conf :
>
> #
>
> # XEN -- Kernel configuration for i386 XEN DomU
>
> #
>
> # $FreeBSD: src/sys/i386/conf/XEN,v 1.13 2010/03/13 09:21:00 ed Exp $
>
>
>
> cpu =A0 =A0 =A0 =A0I686_CPU
>
> ident =A0 =A0 =A0XEN
>
>
>
> makeoptions =A0 =A0DEBUG=3D-g =A0 =A0 =A0 =A0 # Build kernel with gdb(1) =
debug symbols
>
> makeoptions =A0 =A0MODULES_OVERRIDE=3D""
>
>
>
> options =A0 =A0SCHED_ULE =A0 =A0 =A0 =A0 =A0 =A0# ULE scheduler
>
> options =A0 =A0PREEMPTION =A0 =A0 =A0 =A0 =A0 # Enable kernel thread pree=
mption
>
> #options =A0 SCHED_4BSD
>
>
>
> options =A0 =A0INET =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # InterNETworking
>
> options =A0 =A0INET6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# IPv=
6 communications protocols
>
> options =A0 =A0SCTP =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Stream Control Tran=
smission Protocol
>
> options =A0 =A0FFS =A0 =A0 =A0 =A0 =A0# Berkeley Fast Filesystem
>
> options =A0 =A0SOFTUPDATES =A0 =A0 =A0 =A0 =A0# Enable FFS soft updates s=
upport
>
> options =A0 =A0UFS_ACL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Suppo=
rt for access control lists
>
> options =A0 =A0UFS_DIRHASH =A0 =A0 =A0 =A0 =A0# Improve performance on bi=
g directories
>
> options =A0 =A0UFS_GJOURNAL =A0 =A0 =A0 =A0 # Enable gjournal-based UFS j=
ournaling
>
> options =A0 =A0NFSCLIENT =A0 =A0 =A0 =A0 =A0 =A0# Network Filesystem Clie=
nt
>
> options =A0 =A0NFSSERVER =A0 =A0 =A0 =A0 =A0 =A0# Network Filesystem Serv=
er
>
> options =A0 =A0NFSLOCKD =A0 =A0 =A0 =A0 =A0 =A0 # Network Lock Manager
>
> options =A0 =A0NFS_ROOT =A0 =A0 =A0 =A0 =A0 =A0 # NFS usable as /, requir=
es NFSCLIENT
>
> options =A0 =A0MSDOSFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# MSDOS=
 Filesystem
>
> options =A0 =A0CD9660 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # ISO 9=
660 Filesystem
>
> options =A0 =A0PROCFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Proce=
ss filesystem (requires
> PSEUDOFS)
>
> options =A0 =A0PSEUDOFS =A0 =A0 =A0 =A0 =A0 =A0 # Pseudo-filesystem frame=
work
>
> options =A0 =A0GEOM_PART_GPT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# GUID Partit=
ion Tables.
>
> options =A0 =A0GEOM_LABEL =A0 =A0 =A0 =A0 =A0 # Provides labelization
>
> options =A0 =A0COMPAT_FREEBSD4 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Compatible wi=
th FreeBSD4
>
> options =A0 =A0COMPAT_FREEBSD5 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Compatible wi=
th FreeBSD5
>
> options =A0 =A0COMPAT_FREEBSD6 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Compatible wi=
th FreeBSD6
>
> options =A0 =A0COMPAT_FREEBSD7 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Compatible wi=
th FreeBSD7
>
> options =A0 =A0KTRACE =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # ktrac=
e(1) support
>
> options =A0 =A0STACK =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# sta=
ck(9) support
>
> options =A0 =A0SYSVSHM =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# SYSV-=
style shared memory
>
> options =A0 =A0SYSVMSG =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# SYSV-=
style message queues
>
> options =A0 =A0SYSVSEM =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# SYSV-=
style semaphores
>
> options =A0 =A0_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time ext=
ensions
>
> options =A0 =A0KBD_INSTALL_CDEV =A0 =A0 # install a CDEV entry in /dev
>
> options =A0 =A0AUDIT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Sec=
urity event auditing
>
>
>
> # Debugging for use in -current
>
> options =A0 =A0KDB =A0 =A0 =A0 =A0 =A0# Enable kernel debugger support.
>
> options =A0 =A0DDB =A0 =A0 =A0 =A0 =A0# Support DDB.
>
> options =A0 =A0GDB =A0 =A0 =A0 =A0 =A0# Support remote GDB.
>
> options =A0 =A0DEADLKRES =A0 =A0 =A0 =A0 =A0 =A0# Enable the deadlock res=
olver
>
> options =A0 =A0INVARIANTS =A0 =A0 =A0 =A0 =A0 # Enable calls of extra san=
ity checking
>
> options =A0 =A0INVARIANT_SUPPORT =A0 =A0# Extra sanity checks of internal
> structures, required by INVARIANTS
>
> options =A0 =A0WITNESS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Enabl=
e checks to detect deadlocks
> and cycles
>
> options =A0 =A0WITNESS_SKIPSPIN =A0 =A0 # Don't run witness on spinlocks =
for speed
>
>
>
> options =A0 =A0PAE
>
> nooption =A0 NATIVE
>
> option =A0 =A0 XEN
>
> nodevice =A0 atpic
>
> nodevice =A0 isa
>
> options =A0 =A0MCLSHIFT=3D12
>
>
>
> # To make an SMP kernel, the next two lines are needed
>
> options =A0 =A0SMP =A0 =A0 =A0 =A0 =A0# Symmetric MultiProcessor Kernel
>
> device =A0 =A0 apic =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # I/O APIC
>
>
>
>
>
> #device =A0 =A0atkbdc =A0 =A0 =A0 =A0 =A0 =A0 =A0 # AT keyboard controlle=
r
>
> #device =A0 =A0atkbd =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# AT keyboard
>
> device =A0 =A0 psm =A0# PS/2 mouse
>
> device =A0 =A0 pci
>
>
>
> #device =A0 =A0kbdmux =A0 =A0 =A0 =A0 =A0 =A0 =A0 # keyboard multiplexer
>
>
>
> # Pseudo devices.
>
> device =A0 =A0 loop =A0 =A0 =A0 =A0 # Network loopback
>
> device =A0 =A0 random =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Entropy device
>
> device =A0 =A0 ether =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Ethernet support
>
> device =A0 =A0 tun =A0# Packet tunnel.
>
> device =A0 =A0 pty =A0# Pseudo-ttys (telnet etc)
>
> device =A0 =A0 md =A0 # Memory "disks"
>
> device =A0 =A0 gif =A0# IPv6 and IPv4 tunneling
>
> device =A0 =A0 faith =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# IPv6-to-IPv4 relayi=
ng (translation)
>
>
>
> # The `bpf' device enables the Berkeley Packet Filter.
>
> # Be aware of the administrative consequences of enabling this!
>
> # Note that 'bpf' is required for DHCP.
>
> device =A0 =A0 bpf =A0# Berkeley packet filter
>
>
>
> device =A0 =A0 pf
>
> device =A0 =A0 pfsync
>
> device =A0 =A0 pflog
>
> device =A0 =A0 carp
>
>
>
> option =A0 =A0 IPSEC
>
> option =A0 =A0 IPSEC_ESP
>
> device =A0 =A0 crypto
>
>
>
> options =A0 =A0 =A0 =A0 ALTQ
>
> options =A0 =A0 =A0 =A0 ALTQ_CBQ =A0 =A0 =A0 =A0# Class Bases Queuing (CB=
Q)
>
> options =A0 =A0 =A0 =A0 ALTQ_RED =A0 =A0 =A0 =A0# Random Early Detection =
(RED)
>
> options =A0 =A0 =A0 =A0 ALTQ_RIO =A0 =A0 =A0 =A0# RED In/Out
>
> options =A0 =A0 =A0 =A0 ALTQ_HFSC =A0 =A0 =A0 # Hierarchical Packet Sched=
uler (HFSC)
>
> options =A0 =A0 =A0 =A0 ALTQ_PRIQ =A0 =A0 =A0 # Priority Queuing (PRIQ)
>
> options =A0 =A0 =A0 =A0 ALTQ_NOPCC =A0 =A0 =A0# Required for SMP build
>
>
>
> Informations about the Xen domU :
>
>
>
> Xen 3.4 amd 64 with 2.6.32-3-xen-amd64 linux kernel.
>
>
>
>
>
> Thanks by advance.
>
>
>
> Regards,
>
>
> Guillaume Seigneuret
>
> _______________________________________________
> freebsd-xen@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-xen
> To unsubscribe, send any mail to "freebsd-xen-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?u2xd763ac661003311639qccae0258yd885cff8c9bf02fb>