Current-Users archive

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

Re: Xen MP panics in cpu_switchto()



Hi Manuel,

On Mon, Jan 13, 2020 at 10:56:23AM +0100, Manuel Bouyer wrote:
> Hello,
> A current Xen domU kernel fails to boot with:
> [   1.0000000] hypervisor0 at mainbus0: Xen version 4.11.3nb1
> [   1.0000000] vcpu0 at hypervisor0
> [   1.0000000] vcpu0: Intel(R) Xeon(TM) CPU 3.00GHz, id 0xf64
> [   1.0000000] vcpu0: node 0, package 0, core 1, smt 1
> [   1.0000000] vcpu1 at hypervisor0
> [   1.0000000] vcpu1: Intel(R) Xeon(TM) CPU 3.00GHz, id 0xf64
> [   1.0000000] vcpu1: node 0, package 1, core 0, smt 0
> [   1.0000000] xenbus0 at hypervisor0: Xen Virtual Bus Interface
> [   1.0000000] xencons0 at hypervisor0: Xen Virtual Console Driver
> [   1.9901295] uvm_fault(0xffffffff80d5c120, 0x0, 1) -> e
> [   1.9901295] fatal page fault in supervisor mode
> [   1.9901295] trap type 6 code 0 rip 0xffffffff8020209f cs 0x8 rflags 0x10246 cr2 0x28 ilevel 0 rsp 0xffffb7802b19de88
> [   1.9901295] curlwp 0xffffb7800083b500 pid 0.15 lowest kstack 0xffffb7802b1992c0
> kernel: page fault trap, code=0
> Stopped in pid 0.15 (system) at netbsd:cpu_switchto+0xf:        movq    28(%r13),%rax
> cpu_switchto() at netbsd:cpu_switchto+0xf
> 
> both amd64 and i386. A boot with vcpus=1 succeeds, so I guess something is
> missing in initialisations of secondary CPUs.
> This happens with the 202001101800Z but the problem is probably older than
> that (the testbed used vcpus=1 until today)
> 
> Any idea ?

It should work now with revision 1.199 of src/sys/arch/amd64/amd64/locore.S. 
Nothing else in tree calls cpu_switchto() with prevlwp=NULL any more.  Can
Xen's cpu_hatch() call idle_loop() directly?

Thank you,
Andrew


Home | Main Index | Thread Index | Old Index