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

Re: [Xen-devel] [v4][PATCH 11/19] tools: introduce some new parameters to set rdm policy



On 07/01/2015 11:26 AM, Chen, Tiejun wrote:
>>>> 1. By default, the domain policy is RELAXED (See above,
>>>> libxl__rdm_setdefault()).
>>>>
>>>> 2. By default, the policy for individual devices is STRICT (see
>>>> libxl_pci.c:libxl__device_pci_setdefault())
>>>>
>>>> 3. If the domain policy is set to STRICT, this overrides per-device
>>>> policy
>>>>
>>>> 4. If the domain policy is set to RELAXED, I don't see that having an
>>>> effect on individual devices
>>>
>>> This is our rule, and this is why I think you need to take a look at
>>> patch #00, our design and all patch head descriptions,
>>>
>>> "Default per-device RDM policy is 'strict', while default global RDM
>>> policy is 'relaxed'. When both policies are specified on a given region,
>>> 'strict' is always preferred."
>>
>> It looks like you didn't finish reading my message.  I suggest you do so:
> 
> Okay.
> 
>>
>>>> If I'm correct, then #3 means it's not possible to have devices for a
>>>> domain *default* to strict, but to be relaxed in individual instances.
>>>> If you had five devices you wanted strict, and only one device you
>>>> wanted to be relaxed (because you knew it didn't matter), you'd have
>>>> to set reserved=strict for all the other devices, rather than just
>>>> being able to set the domain setting to strict and set reserve=relaxed
>>>> for the one.
>>>>
>>>> I think that both violates the principle of least surprise, and is
>>>> less useful.
>>
> 
> So what's you idea to follow our requirement?

So consider the following config snippet:

---
rdm="reserve=relaxed"

pci=['01:00.1,msitranslate=1']
----

What should the policy for that device be?

According to your policy document, it seems to me like it should be
"relaxed", since the domain default* is set to "relaxed" and nothing
has been specified for the individual device.  That's what "default"
means.  But as far as I can tell from reading the code, the effective
policy for this one will actually be "strict".  That is not what people
will expect.

(* I say "domain default" rather than "global default" because the
default is defined only on a per-domain basis, not across all domains.
To me a "global default" would be one more level up -- something set in
xl.conf which affects all domains unless it's set in the config file.)

Furthermore, consider the following config snippet:

---
rdm="reserve=strict"

pci=['01:00.1,msitranslate=1,rdm_reserve=relaxed']
----

According to your policy document (and the code, as far as I can tell),
this will come up as "strict", even though the user has specifically
asked for it to be set to "relaxed".

This interface doesn't make any sense to me.  Why, if the "global
default" is set to "relaxed", do individual devices still default to
"strict"?  And why is it useful at the domain level to set a
configuration that can't be overridden on a per-device basis?

 -George




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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