[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] reboot driver domain, vifX.Y = NO-CARRIER?
Hi Wei Liu, On Fri, Apr 27, 2018 at 05:58:17PM +0100, Wei Liu wrote: > On Fri, Apr 27, 2018 at 04:14:16PM +0000, Jason Cooper wrote: > > On Fri, Apr 27, 2018 at 04:52:57PM +0100, Andrew Cooper wrote: ... > > > xc_domain_create() takes a domid value by pointer. Passing a value > > > other than zero will cause Xen to use that domid, rather than by > > > searching for the next free domid. > > > > > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > > > index b5e27a7..7866092 100644 > > > --- a/tools/libxl/libxl_create.c > > > +++ b/tools/libxl/libxl_create.c > > > @@ -583,6 +583,7 @@ int libxl__domain_make(libxl__gc *gc, > > > libxl_domain_config *d_config, > > > goto out; > > > } > > > > > > + *domid = atoi(getenv("OVERRIDE_DOMID") ?: "0"); > > > ret = xc_domain_create(ctx->xch, info->ssidref, handle, flags, > > > domid, > > > &xc_config); > > > if (ret < 0) { > > > > > > This gross hack may get you somewhere (Entirely untested). > > > > Gah! Yep, that's just what I needed, thanks! I don't suppose a patch > > series adding a 'domid' field to the domain config file would be > > rejected outright? That would allow callers of xl to use key=value for > > reboot scripts like mine, and also allow for a static domid setup of the > > driver domains if folks want that. > > Seems a bit hacky to me. You also need to reserve a set of domids > before hand? My thought of creating a domid config file variable was to do just as you say, reserve specific domids for specific guests. I could even trigger an error if domid is set when driver_domain isn't. Actually, I could slightly overload driver_domain, changing from a bool to a 'static domid'. 0 = not a driver domain, >0 is it's static domid assignment. For backwards compatibility, 1 = next domid available, and >1 would be the static domid. I'm not sure if I like that though. The racey part is when a driver domain is shut down, how does a create thread know that that domid is reserved? third option, tri-state: driver_domain = 0 # not a driver domain driver_domain = 1 # is a driver domain, use next avail domid driver_domain = 2 # is a driver domain, re-use domid Honestly, I'm not really liking any of these. Perhaps 'xl network-detach ...' should be doing a better job of cleaning up? Or, 'xl network-attach ...' should do a better job of re-attaching? thx, Jason. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |