test case : 8 VMs reboot every 5 minites in a physical machine ( VM : windows 2003 )
result : in general, after 3 hours, the physical machine will reboot. when we add "noreboot" to grub option, the physical machine hang up. in serial console, it says Panic on CPU 0: FATAL PAGE FAULT
way to solve it : add sleep(5) after destroy domain.
with the sleep patch, we run the reboot case 2 days and the physical machine does not reboot.
it is just a provisional program. we want to know the exact way to solve it.
code : (xen/xend/XendDomainInfo.py)
def _restart(self, rename = False):
...............
prev_vm_xend = self._listRecursiveVm('xend')
try:
if rename:
new_dom_info = self._preserveForRestart()
else:
self._unwatchVm()
self.destroy()
# new_dom's VM will be the same as this domain's VM, except where
# the rename flag has instructed us to call preserveForRestart.
# In that case, it is important that we remove the
# RESTART_IN_PROGRESS node from the new domain, not the old one,
# once the new one is available.
time.sleep(5)
new_dom = None
try:
new_dom = XendDomain.instance().domain_create_from_dict(
new_dom_info)
...............
serial log:
(XEN) HVM17: HVM Loader
(XEN) HVM17: Detected Xen v4.0.0
(XEN) HVM17: CPU speed is 2400 MHz
(XEN) irq.c:243: Dom17 PCI link 0 changed 0 -> 5
(XEN) HVM17: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:243: Dom17 PCI link 1 changed 0 -> 10
(XEN) HVM17: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:243: Dom17 PCI link 2 changed 0 -> 11
(XEN) HVM17: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:243: Dom17 PCI link 3 changed 0 -> 5
(XEN) HVM17: PCI-ISA link 3 routed to IRQ5
(XEN) HVM17: pci dev 01:2 INTD->IRQ5
(XEN) HVM17: pci dev 01:3 INTA->IRQ10
(XEN) HVM17: pci dev 03:0 INTA->IRQ5
(XEN) HVM17: pci dev 02:0 bar 10 size 02000000: f0000008
(XEN) HVM17: pci dev 03:0 bar 14 size 01000000: f2000008
(XEN) HVM17: pci dev 02:0 bar 14 size 00001000: f3000000
(XEN) HVM17: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM17: pci dev 01:2 bar 20 size 00000020: 0000c101
(XEN) HVM17: pci dev 01:1 bar 20 size 00000010: 0000c121
(XEN) HVM17: Multiprocessor initialisation:
(XEN) HVM17: - CPU0 ... 40-bit phys ... fixed MTRRs ... var MTRRs [2/8] ... done.
(XEN) HVM17: - CPU1 ... 40-bit phys ... fixed MTRRs ... var MTRRs [2/8] ... done.
(XEN) HVM17: Testing HVM environment:
(XEN) HVM17: - REP INSB across page boundaries ... passed
(XEN) HVM17: - GS base MSRs and SWAPGS ... passed
(XEN) HVM17: Passed 2 of 2 tests
(XEN) HVM17: Writing SMBIOS tables ...
(XEN) HVM17: Loading ROMBIOS ...
(XEN) HVM17: 9628 bytes of ROMBIOS high-memory extensions:
(XEN) HVM17: Relocating to 0xfc000000-0xfc00259c ... done
(XEN) HVM17: Creating MP tables ...
(XEN) HVM17: Loading Cirrus VGABIOS ...
(XEN) HVM17: Loading ACPI ...
(XEN) ----[ Xen-4.0.0 x86_64 debug=y Not tainted ]----
(XEN) CPU: 0
(XEN) RIP: e008:[<ffff82c48011617c>] free_heap_pages+0x55a/0x575
(XEN) RFLAGS: 0000000000010286 CONTEXT: hypervisor
(XEN) rax: 0000001fffffffe0 rbx: ffff82f60b8bbfc0 rcx: ffff83063fe01a20
(XEN) rdx: ffff8315ffffffe0 rsi: ffff8315ffffffe0 rdi: 00000000ffffffff
(XEN) rbp: ffff82c48037fc98 rsp: ffff82c48037fc58 r8: 0000000000000000
(XEN) r9: ffffffffffffffff r10: ffff82c48020e770 r11: 0000000000000282
(XEN) r12: 00007d0a00000000 r13: 0000000000000000 r14: ffff82f60b8bbfe0
(XEN) r15: 0000000000000001 cr0: 000000008005003b cr4: 00000000000026f0
(XEN) cr3: 0000000232914000 cr2: ffff8315ffffffe4
(XEN) ds: 0000 es: 0000 fs: 0063 gs: 0000 ss: e010 cs: e008
(XEN) Xen stack trace from rsp=ffff82c48037fc58:
(XEN) 0000000000000016 0000000000000000 00000000000001a2 ffff8304afc40000
(XEN) 0000000000000000 ffff82f60b8bbfe0 00000000000330fe ffff82f60b8bc000
(XEN) ffff82c48037fcd8 ffff82c48011647e 0000000100000000 ffff82f60b8bbfe0
(XEN) ffff8304afc40020 0000000000000000 ffff8304afc40000 0000000000000000
(XEN) ffff82c48037fcf8 ffff82c480160caf ffff8304afc40000 ffff82f60b8bbfe0
(XEN) ffff82c48037fd68 ffff82c48014deaf 0000000000000ca3 ffff8304afc40fd8
(XEN) ffff8304afc40fd8 ffff8304afc40fd8 4000000000000000 ffff82c48037ff28
(XEN) 0000000000000000 ffff8304afc40000 ffff8304afc40000 000000000099e000
(XEN) 00000000ffffffda 0000000000000001 ffff82c48037fd98 ffff82c4801504de
(XEN) ffff8304afc40000 0000000000000000 000000000099e000 00000000ffffffda
(XEN) ffff82c48037fdb8 ffff82c4801062ee 000000000099e000 fffffffffffffff3
(XEN) ffff82c48037ff08 ffff82c480104cd7 ffff82c40000f800 0000000000000286
(XEN) 0000000000000286 ffff8300bf76c000 000000ea864b1814 ffff8300bf76c030
(XEN) ffff83023ff1ded8 ffff83023ff1ded0 ffff82c48037fe38 ffff82c48011c9f5
(XEN) ffff82c48037ff08 ffff82c480272100 ffff8300bf76c000 ffff82c48037fe48
(XEN) ffff82c48011f557 ffff82c480272100 0000000600000002 000000004700000a
(XEN) 000000004700bf2c 0000000000000000 000000004700c158 0000000000000000
(XEN) 00002b3b59e7d050 0000000000000000 0000007f00b14140 00002b3b5f257a80
(XEN) 0000000000996380 00002aaaaaad0830 00002b3b5f257a80 00000000009bb690
(XEN) 00002aaaaaad0830 000000398905abf3 000000000078de60 00002b3b5f257aa4
(XEN) Xen call trace:
(XEN) [<ffff82c48011617c>] free_heap_pages+0x55a/0x575
(XEN) [<ffff82c48011647e>] free_domheap_pages+0x2e7/0x3ab
(XEN) [<ffff82c480160caf>] put_page+0x69/0x70
(XEN) [<ffff82c48014deaf>] relinquish_memory+0x36e/0x499
(XEN) [<ffff82c4801504de>] domain_relinquish_resources+0x1ac/0x24c
(XEN) [<ffff82c4801062ee>] domain_kill+0x93/0xe4
(XEN) [<ffff82c480104cd7>] do_domctl+0xa1c/0x1205
(XEN) [<ffff82c4801f71bf>] syscall_enter+0xef/0x149
(XEN)
(XEN) Pagetable walk from ffff8315ffffffe4:
(XEN) L4[0x106] = 00000000bf589027 5555555555555555
(XEN) L3[0x057] = 0000000000000000 ffffffffffffffff
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) FATAL PAGE FAULT
(XEN) [error_code=0002]
(XEN) Faulting linear address: ffff8315ffffffe4
(XEN) ****************************************
(XEN)
(XEN) Manual reset required ('noreboot' specified)
thanks
wyb