From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Xen Devel <xen-devel@lists.xen.org>
Subject: Re: Can't create small PV guest anymore (64MB)
Date: Mon, 8 Feb 2016 13:30:13 +0100 [thread overview]
Message-ID: <56B88A55.4050700@suse.com> (raw)
In-Reply-To: <20160208120642.GA3001@perard.uk.xensource.com>
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
prev parent reply other threads:[~2016-02-08 12:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-08 11:18 Can't create small PV guest anymore (64MB) Anthony PERARD
2016-02-08 11:50 ` Juergen Gross
2016-02-08 12:06 ` Anthony PERARD
2016-02-08 12:30 ` Juergen Gross [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B88A55.4050700@suse.com \
--to=jgross@suse.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=anthony.perard@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).