[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] (v2) Design proposal for RMRR fix
On 01/14/2015 12:14 PM, Ian Campbell wrote: > On Wed, 2015-01-14 at 06:52 +0000, Tian, Kevin wrote: >>> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] >>> Sent: Wednesday, January 14, 2015 12:06 AM >>> >>>>>> On 13.01.15 at 17:00, <george.dunlap@xxxxxxxxxxxxx> wrote: >>>> Another option I was thinking about: Before assigning a device to a >>>> guest, you have to unplug the device and assign it to pci-back (e.g., >>>> with xl pci-assignable-add). In addition to something like rmmr=host, >>>> we could add rmrr=assignable, which would add all of the RMRRs of all >>>> devices currently listed as "assignable". The idea would then be that >>>> you first make all your devices assignable, then just start your guests, >>>> and everything you've made assignable will be able to be assigned. >>> >>> Nice idea indeed, but I'm not sure about its practicability: It may >>> not be desirable to make all devices eventually to be handed to a >>> guest prior to starting any of the guests it may get handed to. In >>> particular there may be reasons why the host needs the device >>> while (or until after) creating the guests. >>> >> >> and I'm not sure whether there's enough knowledge to judge whether >> a device is assignable since potential conflicts may be detected only >> when the guest is launched. > > I don't think George was intending to imply otherwise, assignable here > just means "bound to xen-pciback", there may be other reasons why the > device cannot be assigned in practice when you come to actually use it, > i.e. RMRR conflicts which may only be discovered when a guest is started > would be one such practical reason. Yes -- xl has a concept called "pci-assignable". Before you can add a device to a guest, you have to call "xl pci-assignable-add [device spec]". You can also run "xl pci-assignable-list" to see which devices are currently assignable. Normally this is true even for statically-assigned devices: If you add pci= [ "$bdi" ] to a config file, and $bdi hasn't been made assignable, then the pci-attach in domain creation will fail and the domain will be destroyed. You can make the domain builder do this automatically with the "seize=1" parameter; i.e., pci = [ "$bdf,seize=1" ]. My suggestion was that in addition to specifying the particular ranges, and specifying rmrr=host, we could also specify "rmrr=assignable", which would cause the domain builder to internally run libxl_pci_assignable_list() and find the RMRRs for all devices on the list. But as Ian says, that's a "nice to have", not a requirement. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |