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

Reply via email to