All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.