On 24.09.19 16:45, Jan Beulich wrote:
On 24.09.2019 16:25, Jürgen Groß wrote:
On 23.09.19 17:24, Jan Beulich wrote:
On 14.09.2019 10:52, Juergen Gross wrote:
Today the vcpu runstate of a new scheduled vcpu is always set to
"running" even if at that time vcpu_runnable() is already returning
false due to a race (e.g. with pausing the vcpu).

I can see this part, ...

With core scheduling this can no longer work as not all vcpus of a
schedule unit have to be "running" when being scheduled. So the vcpu's
new runstate has to be selected at the same time as the runnability of
the related schedule unit is probed.

... but I continue having trouble here. If it has been okay to set
a vCPU no longer runnable to "running" nevertheless, why would the
same not be true for schedule units? Part of the problem may be
that ...

The difference is the need to drop the scheduling lock for doing the
rendezvous. vcpu_sleep() or vcpu_wake() could now interfere with
scheduling in a way which was not possible before.

Ah, right. But this would be worth mentioning explicitly here to
help readers, wouldn't it? Doesn't need to be more than half a
sentence ...

Okay.


Juergen


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

Reply via email to