[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/02/2015 02:11 AM, Chen, Tiejun wrote:
>>>>>>>> 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
>>>
>>> Why? "strict" should be in this case.
>>
>> OK, I think I see where the problem is.  I had expected the domain-wide
>> setting to be a default which was overridden by per-device policies (see
>> pci_permissive and friends).  So when I saw "global default RDM policy"
> 
> We knew this behavior but we'd like to take a different consideration in
> this case.
> 
>> confirmation bias caused me to interpret it as what I expected to see --
>> the domain setting as the default, which the local setting could
>> override.
>>
>> I see now that in your documentation you consistently talk about two
>> different policies, each of which have their own defaults, and that the
>> effective permissions for a device end up being the intersection of the
>> two (i.e., only relaxed of both are relaxed; strict under all other
>> circumstances).
>>
>>> Why are you saying this is not our expectation? Just let me pick up that
>>> description *again*,
>>>
>>> "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."
>>
>> Look, if I haven't understood what you meant by the exact same words the
>> first 4 times I read it, simply repeating the same exact words is not
>> going to be helpful.  Ideally you need to try go understand where my
>> misunderstanding is coming from and explain where I've misunderstood
>> something; or, at least you need to try to use different words, or
>> explain how the words you're using apply to the given situation.
> 
> From my point of view, I already replied this previously by quoting part
> of the patch head description. As you know this revision is already
> marked as v4 and although I admit some code implementations still need a
> further review, at least our policy should already acknowledged right
> now unless this is really wrong. But in our case, looks you're
> concerning our mechanism is not expected to you. So
> 
>>
>>>> This interface doesn't make any sense to me.  Why, if the "global
>>>
>>> If you have any objection to our solution, and if you can't find any
>>> reasonable answer from our design, just please ping Jan or Kevin because
> 
> just do it to make this clear to us. And then, whatever, I'm going be
> fine to step next.
> 
>>> I'm really not that person who can address this kind of change at this
>>> point in this high level.
>>
>> And you have no idea why that design was chosen; you're just doing what
> 
> Certainly I have my own understanding with this issue. But
> 
>> you're told?
> 
> in high level I have to say Yes. If you really read that v2 design and
> its associated discussion, you should notice I didn't put any response
> right there.

Look, I'm getting a bit angry at your continual implication that I
haven't put in enough work reading the background for this series.  If
you go back and look at the v2 design discussion, you'll see that I was
actively involved in that discussion, and sent at least a dozen emails
about it.  I have now spent nearly two full days just on this series,
including going back over lots of conversations that have happened
before to find answers to questions which you could have given in a
single line; and also to check assertions that you've made which have
turned out to be false.

In the v2 design discussion, the only thing I could find regarding the
relationship between per-device settings and the domain-wide setting was
as where you said [1]:

"per-device override is always favored if a conflicting setting in
rmrr_host."

And in v2, Wei asked you [2]:

"But this only works with global configuration and individual
configuration in PCI spec trumps this, right?"

And you responded [3]:

"You're right."

Now it happens that in all those cases you were literally talking about
the rmrr_host part of the configuration, not the strict/relaxed part of
the configuration; but that doesn't even make sense, since there *is* no
device-specific rmrr_host setting -- the only configuration which has
both a domain-wide and per-device component is the relaxed/strict.

So:

1. After spending yet another half hour doing research, I haven't found
any discussion that concluded we should have the global policy override
the local policy

2. The only discussion I *did* find has *you yourself* saying that the
per-device setting should override the global setting, not once, but
twice; and nobody contradicting you.

Maybe there is somewhere else a discussion somewhere where this was
changed; but I've already spent half an hour this morning looking at
where you said it was (v2 design discussion), and found the opposite --
just as I remembered.  I'm not going to look anymore.

You have now caused me to waste an awful lot of time on this series that
could profitably have been used elsewhere.

[1]
marc.info/?i=<AADFC41AFE54684AB9EE6CBC0274A5D126147864@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>

[2] marc.info/?i=<20150519110041.GB21998@xxxxxxxxxxxxxxxxxxxxx>

[3] marc.info/?i=<555C1B5C.7070401@xxxxxxxxx>


>> I was involved in the design discussion, and from the very beginning I
>> probably saw your plan but misunderstood it.  I wouldn't be surprised if
>> some others didn't quite understand what they were agreeing to.
> 
> Again, I didn't walk into v2 design. So here I don't want to bring any
> confusion to you just with my reply.

This is your feature, so it is your responsibility to understand and
explain why you are doing what you are doing, if only to say "Jan wanted
X to happen because of Y [see $ref]."

 -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®.