WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] libxl: problem with devices in PV

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] libxl: problem with devices in PV
From: Roger Pau Monné <roger.pau@xxxxxxxxxxxxx>
Date: Thu, 21 Jul 2011 11:39:59 +0200
Cc: Christoph Egger <Christoph.Egger@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Stefano@xxxxxxxxxx" <Stefano@xxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Thu, 21 Jul 2011 02:40:57 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=LIfvxJe/B7kKvrQUk6W0nhoC9gZzhN0qjz9gwLoATnE=; b=ccSNQLHHjM4ZXDx+o3SrGQl1k2k6DangHMJmrp+JeRdTe6FfJRewpmugHazWeZCRSv 2qkYUcIJZmVJMChE/BVEC+qOFA3scTxR9HYAqbbUkz3pc8rHlW3ynM0zfcqSjx69S2Vj GNLyspaVpAlx3dM0Xv7l6hhrmwmS0oPrrR6vw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <CAPLaKK7gY1juGDtNcn+Zrcv-PwVxYnU=jF0fhu2vtAHeFFzEkQ@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <CAPLaKK7gAGfazKmyywfdwjFGBS+xog4C5M8bEzvhM3NyM=5mYA@xxxxxxxxxxxxxx> <alpine.DEB.2.00.1107201230260.12963@kaball-desktop> <1311166476.20648.194.camel@xxxxxxxxxxxxxxxxxxxxxx> <CAPLaKK6zQzyn7+Dgt0MZss_3WhMLVTOGkrBkZS89JpPq57emFQ@xxxxxxxxxxxxxx> <1311168600.20648.217.camel@xxxxxxxxxxxxxxxxxxxxxx> <4E26E5BB.1020902@xxxxxxx> <CAPLaKK6EMG13iLt3ceWjwMj10ung4x5D8XQ+c45wzNW_Z13sKg@xxxxxxxxxxxxxx> <1311239027.32010.64.camel@xxxxxxxxxxxxxxxxxxxxxx> <CAPLaKK7gY1juGDtNcn+Zrcv-PwVxYnU=jF0fhu2vtAHeFFzEkQ@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
BTW, would it be ok to create a new disk backend, like LOOP or VND
(LIBXL_DISK_BACKEND_VND)?

Now it's a bit hackish, since type is always set to phy, I have to
guess the real type by checking if  'params' starts with '/dev' on
xenbackend. I think it would be clearer to set the type to
LIBXL_DISK_BACKEND_VND if passed file is not a block device and OS is
NetBSD in disk_try_backend.

Regards, Roger.

2011/7/21 Roger Pau Monné <roger.pau@xxxxxxxxxxxxx>:
> 2011/7/21 Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>:
>> On Thu, 2011-07-21 at 09:39 +0100, Roger Pau Monné wrote:
>>> Hello,
>>>
>>> Thanks for the help, I have a preliminary patch that allows booting PV
>>> machines with xl on NetBSD, but there seems to be some issues with PCI
>>> devices, the guest takes a very long time to start, and I think it's
>>> because it's waiting for PCI devices to initialize.
>>>
>>> [    5.280068] XENBUS: Waiting for devices to initialise:
>>> 295s...290s...285s...280s...275s...270s...265s...260s...255s...250s...245s...240s...235s...230s...225s...220s...215s...210s...205s...200s...195s...190s...185s...180s...175s...170s...165s...160s...155s...150s...145s...140s...135s...130s...125s...120s...115s...110s...105s...100s...95s...90s...85s...80s...75s...70s...65s...60s...55s...50s...45s...40s...35s...30s...25s...20s...15s...10s...5s...0s...
>>> [  300.280078] XENBUS: Device with no driver: device/vbd/51714
>>> [  300.280086] XENBUS: Device with no driver: device/vbd/51713
>>> [  300.280495] XENBUS: Timeout connecting to device: device/pci/0
>>> (local state 3, remote state 1)
>>>
>>> xm didn't add pci entries to xenstore, and I don't know what should be
>>> the status of those entries, or if it's best to disable the adding of
>>> pci entries to xenstore in libxl if no devices are configured?
>>>
>>> I've looked at http://wiki.xensource.com/xenwiki/XenStoreReference,
>>> but the wiki doesn't have any information regarding PCI xenstore
>>> entries.
>>>
>>> The status of those entries in xenstore is the following:
>>>
>>> /local/domain/0/backend/pci = ""   (n0)
>>> /local/domain/0/backend/pci/1 = ""   (n0)
>>> /local/domain/0/backend/pci/1/0 = ""   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/frontend =
>>> "/local/domain/1/device/pci/0"   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/frontend-id = "1"   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/online = "1"   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/state = "1"   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/domain = "debian"   (n0,r1)
>>> /local/domain/0/backend/pci/1/0/num_devs = "0"   (n0,r1)
>>
>> num_devs = 0, is it the case that you don't actually have any pci
>> devices in your configuration?
>
> No, I didn't have any PCI devices set.
>
>>
>> I wonder if perhaps the netbsd pciback doesn't like seeing a backend
>> directory with no actual devices in it.
>>
>> Could you try experimentally commenting out the call to
>> libxl__create_pci_backend in do_domain_create, or gating it on "if
>> (d_config->num_pcidevs)".
>
> Disabling or setting it with a if condition makes the guest boot, I
> through that setting the appropriate values in the status of xenstore
> should also work, but it's useless to have references to PCI devices
> in xenstore if no devices are actually configured.
>
>>
>> That call was added in 23565:72eafe80ebc1 but I don't think adding the
>> if would invalidate it.
>>
>>> /local/domain/1/device/pci = ""   (n0,r1)
>>> /local/domain/1/device/pci/0 = ""   (n1,r0)
>>> /local/domain/1/device/pci/0/backend =
>>> "/local/domain/0/backend/pci/1/0"   (n1,r0)
>>> /local/domain/1/device/pci/0/backend-id = "0"   (n1,r0)
>>> /local/domain/1/device/pci/0/state = "3"   (n1,r0)
>>> /local/domain/1/device/pci/0/pci-op-ref = "8"   (n1,r0)
>>> /local/domain/1/device/pci/0/event-channel = "8"   (n1,r0)
>>> /local/domain/1/device/pci/0/magic = "7"   (n1,r0)
>>>
>>> The patch attached breaks linux support, it is only attached for
>>> informative purposes.
>>>
>>> Regards, Roger.
>
> Thanks again for all the help, I would prepare a new proper patch to
> be added to mainline Xen.
>
> Regards, Roger.
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel