[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 09:43 AM, Tian, Kevin wrote:
>> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>> Sent: Wednesday, January 14, 2015 5:00 PM
>>>>> On 14.01.15 at 09:06, <kevin.tian@xxxxxxxxx> wrote:
>>> Now the open is whether we want to fail domain creation for all of above
>>> conflicts. user may choose to bear with conflicts at his own disposal, or
>>> libxl doesn't want to fail conflicts as preparation for future
>>> hotplug/migration.
>>> One possible option is to add a per-region flag to specify whether treating
>>> relevant conflict as an error, when libxl composes the list to domain
>>> builder.
>>> and this information will be saved in a user space database accessible to
>>> all components and also waterfall to Xen hypervisor when libxl requests
>>> actual device assignment.
>> That's certainly a possibility, albeit saying (in the guest config) that
>> a region to be reserved only when possible is about the same as
>> not stating that region. If at all, I'd see the rmrr-host value be a
>> tristate (don't, try, and force) to that effect.
> how about something like below with bi-state?
> for statically assigned device:
>       pci = [ "00:02.0, 0/1" ]
> where '0/1' represents try/force (or use 'try/force', or have a meaningful 
> attribute like rmrr_check=try/force?)

I think the typical thing to do here would be to introduce a named
parameter.  pci already has things like:

  pci = [ "00:02.0,seize=1,msitranslate=0" ]

So you should just follow suit and make it something like, "rmrr=try".

> for other usages like hotplug/migration:
>       reserved_regions = [ 'host, 0/1', 'start, end, 0/1', 'start, end, 0/1', 
> ...]
> If 'host' is specified, it implies rmrr_host, besides user can specific 
> explicit ranges according to his detail requirement.
> based on above configuration interface, libxl can construct necessary
> reserve regions with individual try/force policies.

Same here; I'd do something like:

 rmrr = [ "0xe0000:0xeffff,check=try", "0xa000000:0xa0000fff" ]

Where here the first one would be allowed to conflict in the domain
builder; but the second would error out if it couldn't be made for some


Xen-devel mailing list



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