On 12/20/18 2:01 PM, Jan Beulich wrote:
>> The practical implication of dom0 bias is that any hypercall which grabs
>> two mm locks, one of two things must be true:
>> * When it is called from one domU to another domU, locks must follow the
>> "normal" locking order listed in mm-locks.h
> 
> This would be a problem in the stubdom case.

Sure; but everything extends naturally from the 2-level case (dom0 /
domU) to the 3-level case (dom0 / stubdom / domU).

>> * When it is called between a dom0 and a domU, it must be consistenly
>> called either one way or the other; i.e., it must always be dom0 calling
>> it with a domU target, or domU calling it with a dom0 target (otherwise
>> the dom0 / domU locking order is violated).
> 
> Obviously (I hope) "domU calling it with a dom0 target" is an
> uninteresting case, because we don't allow a domU to act on
> dom0. Hence the consistency is achieved by it always going
> to be "dom0 calling it with a domU target".

We allow domU to send event channels to dom0, for instance; and
presumably Argos allows domU to send things to dom0 as well as for dom0
to send things to domU.  I don't know if those require the mm locks of
both domains, but if they did, then we'd run into a problem again.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to