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

Re: [Xen-devel] Can't create small PV guest anymore (64MB)



On 08/02/16 13:06, Anthony PERARD wrote:
> On Mon, Feb 08, 2016 at 12:50:43PM +0100, Juergen Gross wrote:
>> On 08/02/16 12:18, Anthony PERARD wrote:
>>> Hi,
>>>
>>> I used to be able to boot a guest with 64MB, but now the minimum required
>>> to boot it seams to be 85MB. It's a PV guest used and lauched by OpenStack
>>> with there test suite. You can find the image at [1].
>>>
>>> The guest failed to boot with this error message:
>>> xc: error: panic: xc_dom_x86.c:147: count_pgtables: not enough memory for 
>>> initial mapping (0x5498 > 0x4000): Out of memory
>>> libxl: error: libxl_dom.c:655:libxl__build_dom: xc_dom_build_image failed: 
>>> No such file or directory
>>> ...
>>>
>>> It still works on commit 6853c9b but guest creation fail on commit d07f63f.
>>> In between, there is a patch series from Juergen that change libxc. I have
>>> not check which patch in particular broke guest creation.
>>>
>>> How can we boot this guest [1] with only 64MB of memory like it was working
>>> before?
>>>
>>> [1] 
>>> http://secure-web.cisco.com/1QfsPLU73sZyj0wnwzSUS_nukH5Va9nrqA69w5a91gaO1PuR5mH4iBs2XnllKEMHianH5_0mAQmiHVmZhJuzfe8oAW9DRoMcxqO_0-osGVLT1cI9AZ6Jt96e53bNOE-ydUKDhe1jAMxURwo3v9-hOQFfNaa1AeuAc09hYkWZarr1xUn1TC0IG69SHQXjKfjvA/http%3A%2F%2Fdownload.cirros-cloud.net%2F0.3.4%2Fcirros-0.3.4-x86_64-uec.tar.gz
>>>
>>
>> Could you please provide:
>>
>> - guest configuration file
> 
> $ qemu-img create -f qcow2 disk.qcow2 1G
> $ cat cirros.pv
> name = "guest"
> maxmem = 64
> memory = 64
> vcpus = 1
> on_poweroff = "destroy"
> on_reboot = "restart"
> on_crash = "destroy"
> vif = [ "script=vif-bridge" ]
> kernel = "cirros-0.3.4-x86_64-vmlinuz"
> ramdisk = "cirros-0.3.4-x86_64-initrd"
> cmdline = "ro root=/dev/xvda"
> disk = [ "disk.qcow2,qcow2,xvda,w,backendtype=qdisk" ]
> 
>> - output of "xl -v create ..."
> Parsing config from cleanner.pv
> domainbuilder: detail: xc_dom_allocate: cmdline="ro root=/dev/xvda", 
> features="(null)"
> domainbuilder: detail: xc_dom_kernel_file: 
> filename="cirros-0.3.4-x86_64-vmlinuz"
> domainbuilder: detail: xc_dom_malloc_filemap    : 4862 kB
> domainbuilder: detail: xc_dom_ramdisk_file: 
> filename="cirros-0.3.4-x86_64-initrd"
> domainbuilder: detail: xc_dom_malloc_filemap    : 3652 kB
> domainbuilder: detail: xc_dom_boot_xen_init: ver 4.7, caps xen-3.0-x86_64 
> xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
> domainbuilder: detail: xc_dom_parse_image: called
> domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... 
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying HVM-generic loader ... 
> domainbuilder: detail: loader probe failed
> domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
> domainbuilder: detail: xc_dom_malloc            : 18258 kB
> domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x4b6ad2 -> 0x11d4aa0
> domainbuilder: detail: loader probe OK
> xc: detail: elf_parse_binary: phdr: paddr=0x1000000 memsz=0xad8000
> xc: detail: elf_parse_binary: phdr: paddr=0x1c00000 memsz=0xe40e0
> xc: detail: elf_parse_binary: phdr: paddr=0x1ce5000 memsz=0x13400
> xc: detail: elf_parse_binary: phdr: paddr=0x1cf9000 memsz=0x362000
> xc: detail: elf_parse_binary: memory: 0x1000000 -> 0x205b000
> xc: detail: elf_xen_parse_note: GUEST_OS = "linux"
> xc: detail: elf_xen_parse_note: GUEST_VERSION = "2.6"
> xc: detail: elf_xen_parse_note: XEN_VERSION = "xen-3.0"
> xc: detail: elf_xen_parse_note: VIRT_BASE = 0xffffffff80000000
> xc: detail: elf_xen_parse_note: ENTRY = 0xffffffff81cf9200
> xc: detail: elf_xen_parse_note: HYPERCALL_PAGE = 0xffffffff81001000
> xc: detail: elf_xen_parse_note: FEATURES = 
> "!writable_page_tables|pae_pgdir_above_4gb"
> xc: detail: elf_xen_parse_note: PAE_MODE = "yes"
> xc: detail: elf_xen_parse_note: LOADER = "generic"
> xc: detail: elf_xen_parse_note: unknown xen elf note (0xd)
> xc: detail: elf_xen_parse_note: SUSPEND_CANCEL = 0x1
> xc: detail: elf_xen_parse_note: HV_START_LOW = 0xffff800000000000
> xc: detail: elf_xen_parse_note: PADDR_OFFSET = 0x0
> xc: detail: elf_xen_addr_calc_check: addresses:
> xc: detail:     virt_base        = 0xffffffff80000000
> xc: detail:     elf_paddr_offset = 0x0
> xc: detail:     virt_offset      = 0xffffffff80000000
> xc: detail:     virt_kstart      = 0xffffffff81000000
> xc: detail:     virt_kend        = 0xffffffff8205b000
> xc: detail:     virt_entry       = 0xffffffff81cf9200
> xc: detail:     p2m_base         = 0xffffffffffffffff
> domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_64: 
> 0xffffffff81000000 -> 0xffffffff8205b000
> domainbuilder: detail: xc_dom_mem_init: mem 64 MB, pages 0x4000 pages, 4k each
> domainbuilder: detail: xc_dom_mem_init: 0x4000 pages
> domainbuilder: detail: xc_dom_boot_mem_init: called
> domainbuilder: detail: x86_compat: guest xen-3.0-x86_64, address size 64
> domainbuilder: detail: xc_dom_malloc            : 128 kB
> domainbuilder: detail: xc_dom_build_image: called
> domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
> 0x1000+0x105b at 0x7fb311af1000
> domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 
> 0xffffffff81000000 -> 0xffffffff8205b000  (pfn 0x1000 + 0x105b pages)
> xc: detail: elf_load_binary: phdr 0 at 0x7fb311af1000 -> 0x7fb3125c9000
> xc: detail: elf_load_binary: phdr 1 at 0x7fb3126f1000 -> 0x7fb3127d50e0
> xc: detail: elf_load_binary: phdr 2 at 0x7fb3127d6000 -> 0x7fb3127e9400
> xc: detail: elf_load_binary: phdr 3 at 0x7fb3127ea000 -> 0x7fb3128c5000
> domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
> 0x205b+0x81b at 0x7fb3112d1000
> domainbuilder: detail: xc_dom_alloc_segment:   ramdisk      : 
> 0xffffffff8205b000 -> 0xffffffff82876000  (pfn 0x205b + 0x81b pages)
> domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x391203 -> 0x81a810
> domainbuilder: detail: xc_dom_pfn_to_ptr_retcount: domU mapping: pfn 
> 0x2876+0x20 at 0x7fb3182d9000
> domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 
> 0xffffffff82876000 -> 0xffffffff82896000  (pfn 0x2876 + 0x20 pages)
> domainbuilder: detail: xc_dom_alloc_page   :   start info   : 
> 0xffffffff82896000 (pfn 0x2896)
> domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 
> 0xffffffff82897000 (pfn 0x2897)
> domainbuilder: detail: xc_dom_alloc_page   :   console      : 
> 0xffffffff82898000 (pfn 0x2898)
> xc: error: panic: xc_dom_x86.c:147: count_pgtables: not enough memory for 
> initial mapping (0x5498 > 0x4000): Out of memory
> libxl: error: libxl_dom.c:655:libxl__build_dom: xc_dom_build_image failed: No 
> such file or directory
> domainbuilder: detail: xc_dom_release: called
> libxl: error: libxl_create.c:1171:domcreate_rebuild_done: cannot (re-)build 
> domain: -3
> libxl: error: libxl.c:1610:libxl__destroy_domid: non-existant domain 14
> libxl: error: libxl.c:1568:domain_destroy_callback: unable to destroy guest 
> with domid 14
> libxl: error: libxl.c:1497:domain_destroy_cb: destruction of domain 14 failed

Thanks, I think I've already found the problem. It's just a wrong sanity
check. I'm preparing a patch.


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.