On Fri, Feb 9, 2018 at 7:20 AM, Andrii Anisov <andrii_ani...@epam.com>

> Dear Dario,
> Now I'm experimenting with RTDS, in particular with "extra time"
> functionality.
> My experimental setup is built on Salvator-X board with H3 SOC (running
> only big cores cluster, 4xA57).
> Domains up and running, and their VCPU are as following:
> root@generic-armv8-xt-dom0:/xt/dom.cfg# xl sched-rtds -v all
> Cpupool Pool-0: sched=RTDS
> Name                                ID VCPU    Period    Budget Extratime
> (XEN) FLASK: Allowing unknown domctl_scheduler_op: 3.
> Domain-0                             0    0     10000 1000        yes
> Domain-0                             0    1     10000 1000        yes
> Domain-0                             0    2     10000 1000        yes
> Domain-0                             0    3     10000 1000        yes
> (XEN) FLASK: Allowing unknown domctl_scheduler_op: 3.
> DomR                                 3    0     10000 5000         no

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

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

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

[Forgive me to attach a slide to explain this.]
[image: Inline image 1]

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.



Meng Xu
Ph.D. Candidate in Computer and Information Science
University of Pennsylvania
Xen-devel mailing list

Reply via email to