[LITMUS^RT] Running LITMUS-RT on ARM64

Meng Xu xumengpanda at gmail.com
Mon Aug 28 21:06:38 CEST 2017


On Mon, Aug 28, 2017 at 1:06 PM, Andrii Anisov <andrii_anisov at epam.com> wrote:
> Hello Björn,
>
> On 28.08.17 19:07, Andrii Anisov wrote:
>>
>> Please see attached results of this basic experiment on my setup.
>> I see the bigger task execution time stretched.
>
> At last I've changed VCPU settings (budgeting) for the domain and now I see
> the same numbers as you baremetal. PFA.
> Further I would introduce more details about my setup related to RT-Xen.
>
> Hello Meng Xu,
>
> The results with stretched task execution time I got on a following VCPUs
> configuration:
>     root at salvator-x:/domu# xl sched-rtds -v all
>     Cpupool pool-rt: sched=RTDS
>     Name                                ID VCPU    Period    Budget
>     litmus                               1    0     10000      4000
>     litmus                               1    1     10000      4000
>
> The results close to baremetal achieved with next configuration:
>     root at salvator-x:/domu# xl sched-rtds -v all
>     Cpupool pool-rt: sched=RTDS
>     Name                                ID VCPU    Period    Budget
>     litmus                               1    0     10000      9000
>     litmus                               1    1     10000      9000
>
> Firstly I was a bit confused about how the tasks set with utilization of
> 0.55 could be ran on a VCPU with bandwidth 0.4 of PCPU. Even with the
> execution time stretching.

In this case, the task will miss  deadline.
For example, a task with period = 10, exe = 5.5  runs on vcpu with
period = 10 and budget = 4, assuming the release time of the task and
the vcpu are synchronized at t=0.
At t = 0, the task release the job 1. At t=4, the task only executes
for 4 time units. The task will run for 1.5 time unit in the next
period. (This is called carry-over workload.) This job (released at t
= 0) of the task will be marked as deadline miss.

IIRC, in LITMUS, the task will skip the release of the job 2 who is
supposed to release at t = 10, because the first job of the task is
still running.(Correct me if I'm wrong, Bjorn.)

At t = 20,  the task will release the job 3.

As you can see, one job is missing due to the deadline miss.

> But yep, it should really be counted "amount of workload", not the execution
> time as rtspin now counts. And the "amount of workload" should be calibrated
> baremetal (or vcpu pinned with 1.0 bandwidth?), then calibration values
> should be applied to the experimental setup.

I will use vcpu pinned with 1.0 bandwidth.

Meng
-- 
-----------
Meng Xu
PhD Candidate in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/



More information about the litmus-dev mailing list