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

Re: [Xen-devel] (v2) Design proposal for RMRR fix

> From: George Dunlap [mailto:george.dunlap@xxxxxxxxxxxxx]
> Sent: Wednesday, January 14, 2015 8:23 PM
> 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.

I see. thanks
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.