Hello Meng Xu,
Thank you for your explanation.
On 09.02.18 17:34, Meng Xu wrote:
To make sure no deadline miss of a task on a VCPU, we must guarantee:
1) The VCPU gets its configured time, which is shown in your following
emails that it does;
2) When the VCPU gets its configured time, the task on the VCPU can
be scheduled. <-- This can be achieved by configuring the VCPU's
parameters correctly.
The deadline miss problem in the test case you presented here is
likely caused by the case (2).
Even if the DomR gets 5ms in every 10ms, the task (period = 10ms,
budget = 4ms) on the VCPU will still miss deadline.
In theory, the domR with period 10ms should be configured to have
budget = 7ms. But here the budget's configured to be 5ms, which is
less than the required.
The foundamental reason is that the release time of RT task and the
task's VCPU is not synchronized.
Here I show why we cannot assign the same/similar parameter of a task
to its VCPU. If you change the VCPU's budget to 5ms, the starvation
interval is 2 * ( period - budget) = 10ms, still making the VCPU's
task miss deadline.
[Forgive me to attach a slide to explain this.]
I think I've got the point.
If you want to keep the same VCPU parameter, can you try to set task's
period = 100ms and exe time = 40ms?
By theory (I used CARTS to compute), a VCPU (10ms, 5ms) can schedule a
task (100ms, 40ms).
Note that the resource demand of two RT tasks with the same
utilization is different: the task with smaller period has larger demand.
I'll do more experiments.
--
*Andrii Anisov*
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel