[LITMUS^RT] issue with P-RES
Laurent Pautet
laurent.pautet at telecom-paristech.fr
Mon Feb 24 19:12:01 CET 2020
On 24/02/2020 09:57, Björn Brandenburg wrote:
>> On 22. Feb 2020, at 23:23, Laurent Pautet
<laurent.pautet at telecom-paristech.fr> wrote:
>>
>> In the slides, rtspin is not used either. Is rtspin working under
P-RES ?
> Yes, it is:
https://github.com/LITMUS-RT/liblitmus/blob/master/doc/howto-use-resctl.md#launching-rtspin-in-a-reservation
>
> Short: use the -r option to specify the ID of the reservation it
should run in.
Hi Björn.
When I try the following commands, rtspin fails :
setsched Linux
setsched P-RES
resctl -n 100 -c 1 -t table-driven -m 100 '[0, 50)'
rtspin -w -r 100 50 100 5
could not become RT task: Invalid argument
But I realized that the error message is misleading ; the issue is that
I have to assign the task to core 1 *again* with -p 1.
When I add -p 1, it works.
>> How to run realtime tasks that execute for their wcet ?
> I don’t understand the question. P-RES allows tasks to execute for
their full allocated budget, modulo overheads.
As I did not manage to use rtspin, I did not manage to experiment a
situation in which I reserve a slot of 20 ms for a task and use only 10
ms of it (not the full allocated slot).
But once again, I understand now that I have to force the assignment of
the task to the core (-p 1) although the reservation was already
assigned to it (-c 1).
resctl -n 100 -c 1 -t table-driven -m 100 '[0, 50)'
rtspin -w -p 1 -r 100 40 100 5
and the task executes for 40 ms in a time window of 50 ms
Problem solved. Thanks for your help.
--
-- Laurent
More information about the litmus-dev
mailing list