xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Can't create small PV guest anymore (64MB)
@ 2016-02-08 11:18 Anthony PERARD
  2016-02-08 11:50 ` Juergen Gross
  0 siblings, 1 reply; 4+ messages in thread
From: Anthony PERARD @ 2016-02-08 11:18 UTC (permalink / raw)
  To: Xen Devel, Ian Campbell, Juergen Gross, Ian Jackson, Wei Liu

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://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-uec.tar.gz

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can't create small PV guest anymore (64MB)
  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
  0 siblings, 1 reply; 4+ messages in thread
From: Juergen Gross @ 2016-02-08 11:50 UTC (permalink / raw)
  To: Anthony PERARD, Xen Devel, Ian Campbell, Ian Jackson, Wei Liu

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://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-uec.tar.gz
> 

Could you please provide:

- guest configuration file
- output of "xl -v create ..."


Juergen

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can't create small PV guest anymore (64MB)
  2016-02-08 11:50 ` Juergen Gross
@ 2016-02-08 12:06   ` Anthony PERARD
  2016-02-08 12:30     ` Juergen Gross
  0 siblings, 1 reply; 4+ messages in thread
From: Anthony PERARD @ 2016-02-08 12:06 UTC (permalink / raw)
  To: Juergen Gross; +Cc: Wei Liu, Ian Jackson, Ian Campbell, Xen Devel

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,

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can't create small PV guest anymore (64MB)
  2016-02-08 12:06   ` Anthony PERARD
@ 2016-02-08 12:30     ` Juergen Gross
  0 siblings, 0 replies; 4+ messages in thread
From: Juergen Gross @ 2016-02-08 12:30 UTC (permalink / raw)
  To: Anthony PERARD; +Cc: Wei Liu, Ian Jackson, Ian Campbell, Xen Devel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-02-08 12:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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).