Roger Pau Monne
2011-Sep-14 12:19 UTC
[Xen-devel] [PATCH] libxl: create pci backend only when there are pci devices
# HG changeset patch # User Roger Pau Monne <roger.pau@entel.upc.edu> # Date 1316002720 -7200 # Node ID 63e254468d6e8d81baeafaed68f05791dc21eb4e # Parent ac33d68e89767d49113824e5661c49a5465a18e7 libxl: create pci backend only when there are pci devices. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> diff -r ac33d68e8976 -r 63e254468d6e tools/libxl/libxl_create.c --- a/tools/libxl/libxl_create.c Thu Sep 08 15:13:06 2011 +0100 +++ b/tools/libxl/libxl_create.c Wed Sep 14 14:18:40 2011 +0200 @@ -584,12 +584,14 @@ static int do_domain_create(libxl__gc *g for (i = 0; i < d_config->num_pcidevs; i++) libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1); - ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, - d_config->num_pcidevs); - if (ret < 0) { - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, - "libxl_create_pci_backend failed: %d", ret); - goto error_out; + if (d_config->num_pcidevs > 0) { + ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, + d_config->num_pcidevs); + if (ret < 0) { + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, + "libxl_create_pci_backend failed: %d", ret); + goto error_out; + } } if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-14 12:31 UTC
Re: [Xen-devel] [PATCH] libxl: create pci backend only when there are pci devices
On Wed, 2011-09-14 at 08:19 -0400, Roger Pau Monne wrote:> # HG changeset patch > # User Roger Pau Monne <roger.pau@entel.upc.edu> > # Date 1316002720 -7200 > # Node ID 63e254468d6e8d81baeafaed68f05791dc21eb4e > # Parent ac33d68e89767d49113824e5661c49a5465a18e7 > libxl: create pci backend only when there are pci devices.I think I recall discussing this a way back but I don''t recall the specific rationale, can you add something to the commit message please? Also does this continue to allow a subsequent pci hotplug to work? I expect it does but it would be useful to check. Ian.> > Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> > > diff -r ac33d68e8976 -r 63e254468d6e tools/libxl/libxl_create.c > --- a/tools/libxl/libxl_create.c Thu Sep 08 15:13:06 2011 +0100 > +++ b/tools/libxl/libxl_create.c Wed Sep 14 14:18:40 2011 +0200 > @@ -584,12 +584,14 @@ static int do_domain_create(libxl__gc *g > for (i = 0; i < d_config->num_pcidevs; i++) > libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1); > > - ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, > - d_config->num_pcidevs); > - if (ret < 0) { > - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, > - "libxl_create_pci_backend failed: %d", ret); > - goto error_out; > + if (d_config->num_pcidevs > 0) { > + ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, > + d_config->num_pcidevs); > + if (ret < 0) { > + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, > + "libxl_create_pci_backend failed: %d", ret); > + goto error_out; > + } > } > > if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christoph Egger
2011-Sep-14 13:49 UTC
Re: [Xen-devel] [PATCH] libxl: create pci backend only when there are pci devices
If you want to have this patch applied to xen-4.1 then please mention this explicitely. Christoph On 09/14/11 14:19, Roger Pau Monne wrote:> # HG changeset patch > # User Roger Pau Monne<roger.pau@entel.upc.edu> > # Date 1316002720 -7200 > # Node ID 63e254468d6e8d81baeafaed68f05791dc21eb4e > # Parent ac33d68e89767d49113824e5661c49a5465a18e7 > libxl: create pci backend only when there are pci devices. > > Signed-off-by: Roger Pau Monne<roger.pau@entel.upc.edu> > > diff -r ac33d68e8976 -r 63e254468d6e tools/libxl/libxl_create.c > --- a/tools/libxl/libxl_create.c Thu Sep 08 15:13:06 2011 +0100 > +++ b/tools/libxl/libxl_create.c Wed Sep 14 14:18:40 2011 +0200 > @@ -584,12 +584,14 @@ static int do_domain_create(libxl__gc *g > for (i = 0; i< d_config->num_pcidevs; i++) > libxl__device_pci_add(gc, domid,&d_config->pcidevs[i], 1); > > - ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, > - d_config->num_pcidevs); > - if (ret< 0) { > - LIBXL__LOG(ctx, LIBXL__LOG_ERROR, > - "libxl_create_pci_backend failed: %d", ret); > - goto error_out; > + if (d_config->num_pcidevs> 0) { > + ret = libxl__create_pci_backend(gc, domid, d_config->pcidevs, > + d_config->num_pcidevs); > + if (ret< 0) { > + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, > + "libxl_create_pci_backend failed: %d", ret); > + goto error_out; > + } > } > > if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV&&-- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Roger Pau Monné
2011-Sep-14 15:02 UTC
Re: [Xen-devel] [PATCH] libxl: create pci backend only when there are pci devices
This was commited as a part of another patch, and I''ve decided to submit it alone. This solves a problem with NetBSD Dom0 and at least Linux DomU, the DomU kernel waited a very long time at XENBUS init, because it was unable to attach the PCI devices (although there were no PCI devices, only an empty pci entry in xenstore). This prevents libxl from adding the pci entries to xenstore if there are no PCI devices and solves the problem. I don''t have any Linux boxes, but I think this should not break anything. If the patch is correct, please add it to xen-4.1 too. Regards, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Roger Pau Monné
2011-Sep-22 06:30 UTC
Re: [Xen-devel] [PATCH] libxl: create pci backend only when there are pci devices
Can this patch be applied? Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel