Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Dom0 ballooning: crash on guest start
On 04/29/11 13:44, Jean-Yves Migeon wrote:
On Fri, 29 Apr 2011 11:49:33 +0200, Christoph Egger wrote:
On 04/29/11 11:49, Jean-Yves Migeon wrote:
On Fri, 29 Apr 2011 11:14:54 +0200, Christoph Egger wrote:
Then when I start a HVM guest the balloon driver crashes:
balloon0: current reservation: 2039476 pages => target: 2039476 pages
balloon0: current reservation: 2039476 pages => target: 981172 pages
uvm_fault(0xffffffff80c6b220, 0xffffffff81400000, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip ffffffff8054584d cs e030 rflags 10216 cr2
ffffffff81400000 cpl 0 rsp ffffa00057ca8a50
kernel: page fault trap, code=0
Stopped in pid 0.58 (system) at netbsd:pmap_zero_page+0x41: movq
0(%rax,%
rbx,8),%rbx
pmap_zero_page() at netbsd:pmap_zero_page+0x41
uvm_pagealloc_strat() at netbsd:uvm_pagealloc_strat+0x22d
bpge_ctor() at netbsd:bpge_ctor+0x22
Hmm, a fault while zeroing the page. Race, TLB out of sync, or maybe
developer's (my) mistake :o
Is this kernel compiled with DIAGNOSTIC?
It is compiled with DEBUG + DIAGNOSTIC + LOCKDEBUG
Okay, I'll try reproducing the issue. In the meanwhile, could you
trigger the issue again with BALLOONDEBUG set to 1 (in xen/balloon.c),
and post the last dmesg output before the fault? I'd like to see if it
happens under high memory pressure or right from the start.
Thanks for testing!
Ok, I retried with BALLOONDEBUG set to 1.
When starting xenstored, xenconsoled and xenbackendd
the kernel prints:
balloon0 at xenbus0 id 0: Xen Balloon driver
balloon0: current reservation: 8157904 KiB
balloon0: min reservation: 2048 KiB
balloon0: max reservation: 17179869180 KiB
balloon0: WARNING: power management not supported
balloon0: error, couldn't read xenbus target node
Then when starting a HVM guest, the kernel floods the serial console with
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
for about 20 seconds until the crash happens:
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
balloon0: inflate 512 => inflated by 512
uvm_fault(0xffffffff80c6b220, 0xffffffff81400000, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip ffffffff8054593d cs e030 rflags 10216 cr2
ffffffff81400000 cpl 0 rsp f
fffa00057ce3a40
kernel: page fault trap, code=0
Stopped in pid 0.58 (system) at netbsd:pmap_zero_page+0x41: movq
0(%rax,%
rbx,8),%rbx
pmap_zero_page() at netbsd:pmap_zero_page+0x41
uvm_pagealloc_strat() at netbsd:uvm_pagealloc_strat+0x22d
bpge_ctor() at netbsd:bpge_ctor+0x22
pool_cache_get_slow() at netbsd:pool_cache_get_slow+0x1df
pool_cache_get_paddr() at netbsd:pool_cache_get_paddr+0x1f7
balloon_thread() at netbsd:balloon_thread+0x3bc
ds 0
es 0x1122
fs 0x9aa0
gs 0
rdi 0xbbe00000
rsi 0xffffffff80cec1c0 ld_prime+0x1860
rbp 0xffffa00057ce3a70
rbx 0xbbe00
rdx 0xffffffff80bd0048 cpu_info_primary+0x188
rcx 0
rax 0xffffffff80e21000
r8 0xffffa0000f215f00
r9 0xffffa000055838c0
r10 0
r11 0
r12 0
r13 0x7fd000000010
r14 0
r15 0
rip 0xffffffff8054593d pmap_zero_page+0x41
cs 0xe030
rflags 0x10216
rsp 0xffffa00057ce3a40
ss 0xe02b
db>
BTW: The HVM guest gets 4GB RAM assigned and Xen uses
0x200 4KB pages, 0x3fb 2MB pages and 0x1 1GB pages for it.
Christoph
Home |
Main Index |
Thread Index |
Old Index