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

Re: [Xen-devel] [PATCH v2] Handle xen_platform_pci=0 case



> -----Original Message-----
> From: Sander Eikelenboom [mailto:linux@xxxxxxxxxxxxxx]
> Sent: 28 November 2013 09:41
> To: Paul Durrant
> Cc: Anthony Perard; Ian Jackson; Stefano Stabellini; Ian Campbell; Xen Devel
> Subject: Re: [Xen-devel] [PATCH v2] Handle xen_platform_pci=0 case
> 
> 
> Thursday, November 28, 2013, 10:34:58 AM, you wrote:
> 
> >> -----Original Message-----
> >> From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel-
> >> bounces@xxxxxxxxxxxxx] On Behalf Of Sander Eikelenboom
> >> Sent: 27 November 2013 23:04
> >> To: Anthony Perard
> >> Cc: Ian Jackson; Stefano Stabellini; Ian Campbell; Xen Devel
> >> Subject: Re: [Xen-devel] [PATCH v2] Handle xen_platform_pci=0 case
> >>
> >>
> >> Wednesday, November 27, 2013, 7:21:33 PM, you wrote:
> >>
> >> > Hi,
> >>
> >> > Here is a little patch that attempt to fix the issue regarding
> >> > xen_platform_pci=0 not been handled.
> >>
> >> > There is one patch left from the previous version. The patch that was
> >> adding
> >> > qemu_machine_override have been removed as it is unnecessary. If
> >> someone wants
> >> > to change the -machine, it can always add it to
> device_model_args_hvm, as
> >> QEMU
> >> > appear to use the last one.
> >>
> >> > Regards,
> >>
> >> > Anthony PERARD (1):
> >> >   libxl: Handle xen_platform_pci=0 case with qemu-xen.
> >>
> >> >  tools/libxl/libxl_dm.c | 12 ++++++++++--
> >> >  1 file changed, 10 insertions(+), 2 deletions(-)
> >>
> >>
> >> Hi Anthony,
> >>
> >> I tried your patch, but qemu fails when xen_platform_pci=0 (still boots
> fine
> >> with xen_platform_pci=1).
> >>
> >> The same guest + config boots fine when using qemu-xen-traditional with
> >> xen_platform_pci=0 or xen_platform_pci=1
> >> (after Konrad's kernel patch is applied)
> >>
> >> I can't pinpoint why qemu doesn't want to start .. from the verbose
> output
> >> from xl create:
> >>
> >>
> >> ~# xl -vvvvvvvv create /etc/xen/domU/production/xbmc.cfg
> >> Parsing config from /etc/xen/domU/production/xbmc.cfg
> >> libxl: debug: libxl_create.c:1296:do_domain_create: ao 0x22b1ed0:
> create:
> >> how=(nil) callback=(nil) poller=0x22b1f30
> >> libxl: debug: libxl_device.c:251:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=unknown
> >> libxl: debug: libxl_device.c:286:libxl__device_disk_set_backend: Disk
> >> vdev=hda, using backend phy
> >> libxl: debug: libxl_create.c:740:initiate_domain_create: running
> bootloader
> >> libxl: debug: libxl_bootloader.c:321:libxl__bootloader_run: not a PV
> domain,
> >> skipping bootloader
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b22b8: deregister unregistered
> >> xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x9efa8
> >> xc: detail: elf_parse_binary: memory: 0x100000 -> 0x19efa8
> >> xc: detail: VIRTUAL MEMORY ARRANGEMENT:
> >>   Loader:        0000000000100000->000000000019efa8
> >>   Modules:       0000000000000000->0000000000000000
> >>   TOTAL:         0000000000000000->000000003f800000
> >>   ENTRY ADDRESS: 0000000000100000
> >> xc: detail: PHYSICAL MEMORY ALLOCATION:
> >>   4KB PAGES: 0x0000000000000200
> >>   2MB PAGES: 0x00000000000001fb
> >>   1GB PAGES: 0x0000000000000000
> >> xc: detail: elf_load_binary: phdr 0 at 0x7fbf4e4a1000 -> 0x7fbf4e536e2d
> >> libxl: debug: libxl_device.c:251:libxl__device_disk_set_backend: Disk
> >> vdev=hda spec.backend=phy
> >> libxl: debug: libxl_event.c:559:libxl__ev_xswatch_register: watch
> >> w=0x22b3728 wpath=/local/domain/0/backend/vbd/20/768/state
> >> token=3/0: register slotnum=3
> >> libxl: debug: libxl_create.c:1310:do_domain_create: ao 0x22b1ed0:
> >> inprogress: poller=0x22b1f30, flags=i
> >> libxl: debug: libxl_event.c:503:watchfd_callback: watch w=0x22b3728
> >> wpath=/local/domain/0/backend/vbd/20/768/state token=3/0: event
> >> epath=/local/domain/0/backend/vbd/20/768/state
> >> libxl: debug: libxl_event.c:646:devstate_watch_callback: backend
> >> /local/domain/0/backend/vbd/20/768/state wanted state 2 still waiting
> state
> >> 1
> >> libxl: debug: libxl_event.c:503:watchfd_callback: watch w=0x22b3728
> >> wpath=/local/domain/0/backend/vbd/20/768/state token=3/0: event
> >> epath=/local/domain/0/backend/vbd/20/768/state
> >> libxl: debug: libxl_event.c:642:devstate_watch_callback: backend
> >> /local/domain/0/backend/vbd/20/768/state wanted state 2 ok
> >> libxl: debug: libxl_event.c:595:libxl__ev_xswatch_deregister: watch
> >> w=0x22b3728 wpath=/local/domain/0/backend/vbd/20/768/state
> >> token=3/0: deregister slotnum=3
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b3728: deregister unregistered
> >> libxl: debug: libxl_device.c:1022:device_hotplug: calling hotplug script:
> >> /etc/xen/scripts/block add
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b37b0: deregister unregistered
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b37b0: deregister unregistered
> >> libxl: debug: libxl_dm.c:1267:libxl__spawn_local_dm: Spawning device-
> >> model /usr/local/lib/xen/bin/qemu-system-i386 with arguments:
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> >> /usr/local/lib/xen/bin/qemu-system-i386
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -xen-domid
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   20
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -chardev
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   socket,id=libxl-
> >> cmd,path=/var/run/xen/qmp-libxl-20,server,nowait
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -mon
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   chardev=libxl-
> >> cmd,mode=control
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -nodefaults
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -name
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   xbmc
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -vnc
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> >> 172.16.1.1:9,password,to=99
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -serial
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   pty
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -device
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   cirrus-vga
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -global
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> vga.vram_size_mb=8
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -boot
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   order=c
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -usb
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -usbdevice
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   tablet
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -smp
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   2,maxcpus=2
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -device
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> >> e1000,id=nic0,netdev=net0,mac=00:16:3a:c6:76:65
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -netdev
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> >> type=tap,id=net0,ifname=vif20.0-emu,script=no,downscript=no
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -machine
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   pc,accel=xen
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -m
> 
> > This doesn't look right. -m needs an argument and -machine has already
> been specified anyway.
> 
> -m is for specifying memory, which value is specified (1016)
> -M is the short option for the machine, so it should be ok ..
> 

Sorry, you are correct. I was misremembering.

  Paul

> 
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   1016
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:   -drive
> >> libxl: debug: libxl_dm.c:1269:libxl__spawn_local_dm:
> >>
> file=/dev/xen_vms/xbmc,if=ide,index=0,media=disk,format=raw,cache=wri
> >> teback
> >> libxl: debug: libxl_event.c:559:libxl__ev_xswatch_register: watch
> >> w=0x22b24f0 wpath=/local/domain/0/device-model/20/state token=3/1:
> >> register slotnum=3
> >> libxl: debug: libxl_event.c:503:watchfd_callback: watch w=0x22b24f0
> >> wpath=/local/domain/0/device-model/20/state token=3/1: event
> >> epath=/local/domain/0/device-model/20/state
> >> libxl: debug: libxl_event.c:595:libxl__ev_xswatch_deregister: watch
> >> w=0x22b24f0 wpath=/local/domain/0/device-model/20/state token=3/1:
> >> deregister slotnum=3
> >> libxl: error: libxl_dm.c:1335:device_model_spawn_outcome: domain 20
> >> device model: spawn failed (rc=-3)
> 
> > And this is where libxl is telling you qemu refused to start.
> 
> Yes .. but it doesn't record *why* qemu refused to start, which would
> perhapds be handy to log.
> 
> >   Paul
> 
> >> libxl: error: libxl_create.c:1140:domcreate_devmodel_started: device
> model
> >> did not start: -3
> >> libxl: error: libxl_dm.c:1439:kill_device_model: Device Model already
> exited
> >> libxl: debug: libxl_event.c:559:libxl__ev_xswatch_register: watch
> >> w=0x22b07e8 wpath=/local/domain/0/backend/vbd/20/768/state
> >> token=3/2: register slotnum=3
> >> libxl: debug: libxl_event.c:503:watchfd_callback: watch w=0x22b07e8
> >> wpath=/local/domain/0/backend/vbd/20/768/state token=3/2: event
> >> epath=/local/domain/0/backend/vbd/20/768/state
> >> libxl: debug: libxl_event.c:642:devstate_watch_callback: backend
> >> /local/domain/0/backend/vbd/20/768/state wanted state 6 ok
> >> libxl: debug: libxl_event.c:595:libxl__ev_xswatch_deregister: watch
> >> w=0x22b07e8 wpath=/local/domain/0/backend/vbd/20/768/state
> >> token=3/2: deregister slotnum=3
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b07e8: deregister unregistered
> >> libxl: debug: libxl_device.c:1022:device_hotplug: calling hotplug script:
> >> /etc/xen/scripts/block remove
> >> libxl: debug: libxl_event.c:472:watchfd_callback: watch
> >> epath=/local/domain/0/backend/vbd/20/768/state token=3/2: empty
> slot
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b0870: deregister unregistered
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b0870: deregister unregistered
> >> libxl: debug: libxl_event.c:607:libxl__ev_xswatch_deregister: watch
> >> w=0x22b0b90: deregister unregistered
> >> libxl: debug: libxl_event.c:1560:libxl__ao_complete: ao 0x22b1ed0:
> >> complete, rc=-3
> >> libxl: debug: libxl_event.c:1532:libxl__ao__destroy: ao 0x22b1ed0:
> destroy
> >> xc: debug: hypercall buffer: total allocations:700 total releases:700
> >> xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
> >> xc: debug: hypercall buffer: cache current size:2
> >> xc: debug: hypercall buffer: cache hits:696 misses:2 toobig:2
> >>
> >> --
> >> Sander
> >>
> >>
> >> _______________________________________________
> >> Xen-devel mailing list
> >> Xen-devel@xxxxxxxxxxxxx
> >> http://lists.xen.org/xen-devel
> 


_______________________________________________
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®.