Re: [Xen-devel] Question about unable to add disk device after VM is destroyed and recreated on NVIDIA Jetson board

2016-07-03 Thread Meng Xu
On Mon, Jun 20, 2016 at 11:43 AM, Meng Xu  wrote:
>
> Hi all,
>
> I'm running Xen on NVIDIA Jetson TK1 board. The Xen code is from Ian's
> repo.: git://xenbits.xen.org/people/ianc/xen.git with the commit point
> c78d51660446d33dac4bb07c3c17e1d14d62ebc2
>
> Right now, I can boot dom0 on Xen on the Jetson board. After the
> system boots up, I can boot up a VM1 using the vm1.config (attached
> below). However, after I use "xl destroy vm1" to destroy the vm1 and
> try to boot up vm1 again with the exact same configuration file, it
> starts to reports the following error:
>
> --- Start of the output of the  "xl create vm1.xl"  ---
> libxl: error: libxl_device.c:952:device_backend_callback: unable to
> add device with path /local/domain/0/backend/vbd/5/51712
>
> libxl: error: libxl_create.c:1161:domcreate_launch_dm: unable to add
> disk devices
>
> libxl: error: libxl_device.c:952:device_backend_callback: unable to
> remove device with path /local/domain/0/backend/vbd/5/51712
>
> libxl: error: libxl.c:1650:devices_destroy_cb: libxl__devices_destroy
> failed for 5
>
> ---End of of the output of the  "xl create vm1.xl"  ---
>
> I found that this issue was raised before in 2013 at
> http://lists.xen.org/archives/html/xen-devel/2013-02/msg00704.html
> However, I didn't see the solution on that thread.
>
> I'm wondering if someone has encountered this issue before and know
> how to fix it?
>
> Thank you very much for your help and time! Any advice is really appreciated!
>
> I attached the configurations and more log messages as below:
>
> ---The vm1's configuration file vm1.config---
>
> kernel = "/boot/zImage-domU" # zImage is kernel domU will uses. zImage
> is inside dom0 and it’s dom0’s path.
>
> memory = 512
>
> name = "vm1"
>
> vcpus = 1
>
> disk = [ 'file:/home/ubuntu/sdcard/vm1.disk,xvda,w' ]
>
> vif = ['bridge=xenbr0']
>
> extra = 'console=hvc0 xencons=tty root=/dev/xvda'
>
>
> --- The log message when I create vm1---
>
> # xl -vvv create -c vm1.xl
>
> Parsing config from vm1.xl
>
> libxl: debug: libxl_create.c:1512:do_domain_create: ao 0x3cdd8:
> create: how=(nil) callback=(nil) poller=0x3ce20
>
> libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk
> vdev=xvda spec.backend=unknown
>
> libxl: debug: libxl_device.c:298:libxl__device_disk_set_backend: Disk
> vdev=xvda, using backend phy
>
> libxl: debug: libxl_create.c:915:initiate_domain_create: running bootloader
>
> libxl: debug: libxl_bootloader.c:329:libxl__bootloader_run: no
> bootloader configured, using user supplied kernel
>
> libxl: debug: libxl_event.c:629:libxl__ev_xswatch_deregister: watch
> w=0x3d2dc: deregister unregistered
>
> domainbuilder: detail: xc_dom_allocate: cmdline="console=hvc0
> xencons=tty root=/dev/xvda", features="(null)"
>
> libxl: debug: libxl_dom.c:536:libxl__build_pv: pv kernel mapped 0 path
> /boot/zImage-domU
>
> domainbuilder: detail: xc_dom_kernel_file: filename="/boot/zImage-domU"
>
> domainbuilder: detail: xc_dom_malloc_filemap: 5091 kB
>
> domainbuilder: detail: xc_dom_boot_xen_init: ver 4.6, caps xen-3.0-armv7l
>
> domainbuilder: detail: xc_dom_rambase_init: RAM starts at 4
>
> 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 Linux zImage (ARM64)
> loader ...
>
> domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel is not an
> arm64 Image
>
> domainbuilder: detail: loader probe failed
>
> domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32)
> loader ...
>
> domainbuilder: detail: loader probe OK
>
> domainbuilder: detail: xc_dom_parse_zimage32_kernel: called
>
> domainbuilder: detail: xc_dom_parse_zimage32_kernel: xen-3.0-armv7l:
> 0x40008000 -> 0x40500c20
>
> libxl: debug: libxl_arm.c:537:libxl__arch_domain_init_hw_description:
> configure the domain
>
> libxl: debug: libxl_arm.c:545:libxl__arch_domain_init_hw_description:
> constructing DTB for Xen version 4.6 guest
>
> libxl: debug: libxl_arm.c:546:libxl__arch_domain_init_hw_description:
>  - vGIC version: V2
>
> libxl: debug: libxl_arm.c:303:make_memory_nodes: Creating placeholder
> node /memory@4000
>
> libxl: debug: libxl_arm.c:303:make_memory_nodes: Creating placeholder
> node /memory@2
>
> libxl: debug: libxl_arm.c:620:libxl__arch_domain_init_hw_description:
> fdt total size 1266
>
> domainbuilder: detail: xc_dom_devicetree_mem: called
>
> domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x2 pages, 4k 
> each
>
> domainbuilder: detail: xc_dom_mem_init: 0x2 pages
>
> domainbuilder: detail: xc_dom_boot_mem_init: called
>
> domainbuilder: detail: set_mode: guest xen-3.0-armv7l, address size 32
>
> domainbuilder: detail: xc_dom_malloc: 1024 kB
>
> domainbuilder: detail: populate_guest_memory: populating RAM @
> 4000-6000 (512MB)
>
> domainbuilder: detail: populate_one_siz

[Xen-devel] Question about unable to add disk device after VM is destroyed and recreated on NVIDIA Jetson board

2016-06-20 Thread Meng Xu
Hi all,

I'm running Xen on NVIDIA Jetson TK1 board. The Xen code is from Ian's
repo.: git://xenbits.xen.org/people/ianc/xen.git with the commit point
c78d51660446d33dac4bb07c3c17e1d14d62ebc2

Right now, I can boot dom0 on Xen on the Jetson board. After the
system boots up, I can boot up a VM1 using the vm1.config (attached
below). However, after I use "xl destroy vm1" to destroy the vm1 and
try to boot up vm1 again with the exact same configuration file, it
starts to reports the following error:

--- Start of the output of the  "xl create vm1.xl"  ---
libxl: error: libxl_device.c:952:device_backend_callback: unable to
add device with path /local/domain/0/backend/vbd/5/51712

libxl: error: libxl_create.c:1161:domcreate_launch_dm: unable to add
disk devices

libxl: error: libxl_device.c:952:device_backend_callback: unable to
remove device with path /local/domain/0/backend/vbd/5/51712

libxl: error: libxl.c:1650:devices_destroy_cb: libxl__devices_destroy
failed for 5

---End of of the output of the  "xl create vm1.xl"  ---

I found that this issue was raised before in 2013 at
http://lists.xen.org/archives/html/xen-devel/2013-02/msg00704.html
However, I didn't see the solution on that thread.

I'm wondering if someone has encountered this issue before and know
how to fix it?

Thank you very much for your help and time! Any advice is really appreciated!

I attached the configurations and more log messages as below:

---The vm1's configuration file vm1.config---

kernel = "/boot/zImage-domU" # zImage is kernel domU will uses. zImage
is inside dom0 and it’s dom0’s path.

memory = 512

name = "vm1"

vcpus = 1

disk = [ 'file:/home/ubuntu/sdcard/vm1.disk,xvda,w' ]

vif = ['bridge=xenbr0']

extra = 'console=hvc0 xencons=tty root=/dev/xvda'


--- The log message when I create vm1---

# xl -vvv create -c vm1.xl

Parsing config from vm1.xl

libxl: debug: libxl_create.c:1512:do_domain_create: ao 0x3cdd8:
create: how=(nil) callback=(nil) poller=0x3ce20

libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk
vdev=xvda spec.backend=unknown

libxl: debug: libxl_device.c:298:libxl__device_disk_set_backend: Disk
vdev=xvda, using backend phy

libxl: debug: libxl_create.c:915:initiate_domain_create: running bootloader

libxl: debug: libxl_bootloader.c:329:libxl__bootloader_run: no
bootloader configured, using user supplied kernel

libxl: debug: libxl_event.c:629:libxl__ev_xswatch_deregister: watch
w=0x3d2dc: deregister unregistered

domainbuilder: detail: xc_dom_allocate: cmdline="console=hvc0
xencons=tty root=/dev/xvda", features="(null)"

libxl: debug: libxl_dom.c:536:libxl__build_pv: pv kernel mapped 0 path
/boot/zImage-domU

domainbuilder: detail: xc_dom_kernel_file: filename="/boot/zImage-domU"

domainbuilder: detail: xc_dom_malloc_filemap: 5091 kB

domainbuilder: detail: xc_dom_boot_xen_init: ver 4.6, caps xen-3.0-armv7l

domainbuilder: detail: xc_dom_rambase_init: RAM starts at 4

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 Linux zImage (ARM64)
loader ...

domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel is not an
arm64 Image

domainbuilder: detail: loader probe failed

domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32)
loader ...

domainbuilder: detail: loader probe OK

domainbuilder: detail: xc_dom_parse_zimage32_kernel: called

domainbuilder: detail: xc_dom_parse_zimage32_kernel: xen-3.0-armv7l:
0x40008000 -> 0x40500c20

libxl: debug: libxl_arm.c:537:libxl__arch_domain_init_hw_description:
configure the domain

libxl: debug: libxl_arm.c:545:libxl__arch_domain_init_hw_description:
constructing DTB for Xen version 4.6 guest

libxl: debug: libxl_arm.c:546:libxl__arch_domain_init_hw_description:
 - vGIC version: V2

libxl: debug: libxl_arm.c:303:make_memory_nodes: Creating placeholder
node /memory@4000

libxl: debug: libxl_arm.c:303:make_memory_nodes: Creating placeholder
node /memory@2

libxl: debug: libxl_arm.c:620:libxl__arch_domain_init_hw_description:
fdt total size 1266

domainbuilder: detail: xc_dom_devicetree_mem: called

domainbuilder: detail: xc_dom_mem_init: mem 512 MB, pages 0x2 pages, 4k each

domainbuilder: detail: xc_dom_mem_init: 0x2 pages

domainbuilder: detail: xc_dom_boot_mem_init: called

domainbuilder: detail: set_mode: guest xen-3.0-armv7l, address size 32

domainbuilder: detail: xc_dom_malloc: 1024 kB

domainbuilder: detail: populate_guest_memory: populating RAM @
4000-6000 (512MB)

domainbuilder: detail: populate_one_size: populated 0x100/0x100
entries with shift 9

domainbuilder: detail: arch_setup_meminit: placing boot modules at 0x4800

domainbuilder: detail: arch_setup_meminit: devicetree: 0x4800 -> 0x48001000

libxl: debug: libxl_arm.c:651:finalise_one_memory_node: Populating
placeholder node /memory