[LITMUS^RT] Reservation synchronization
Cristina STANGACIU
cristina.stangaciu at cs.upt.ro
Wed Feb 26 08:39:30 CET 2020
Dear Björn,
My name is Cristina Stângaciu. I am currently working at a research
project which may include an implementation of a table-driven
(time-triggered) scheduling algorithm. I would like to choose LITMUS as
a support for my proof of concept, but, I have some questions.
If it is not too much trouble, I would kindly request a little help:
1. Is it possible to synchronize reservations, when using P-RES? How
else could I obtain a perfectly periodical (jitterless) execution for a
given thread (considering job execution start times)?
I have tried to use polling-periodic reservations:
/setsched Linux//
//root at dLitmus:/sandbox/my-demo# setsched P-RES//
//root at dLitmus:/sandbox/my-demo# showsched//
//P-RES//
//root at dLitmus:/sandbox/my-demo# resctl -n 1001 -t polling-periodic -c 1
-b 5 -p 10//
//root at dLitmus:/sandbox/my-demo# resctl -n 1002 -t polling-periodic -c 1
-b 2 -p 10//
//root at dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1001 3 10 5&//
//[1] 3493//
//root at dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1002 1 10 5&//
//[2] 3494//
//root at dLitmus:/sandbox/my-demo# release_ts//
//Synchronous release at time 2901000.00ms.//
//Released 2 real-time tasks.//
//root at dLitmus:/sandbox/my-demo# wait//
//[1]- Done rtspin -w -p 1 -r 1001 3 10 5//
//[2]+ Done rtspin -w -p 1 -r 1002 1 10 5/
The result (...08-48-17.png) is attached to this email but it doesn't
seem to be a jitterless execution.
I have also tried to use table-driven reservations:
/setsched Linux//
//root at dLitmus:/sandbox/my-demo# setsched P-RES//
//root at dLitmus:/sandbox/my-demo# showsched//
//P-RES//
//root at dLitmus:/sandbox/my-demo# resctl -n 1001 -t table-driven -c 1 -m
10 '[0,5)'/
/root at dLitmus:/sandbox/my-demo# resctl -n 1002 -t table-driven -c 1 -m
10 '[5,7)' //
//root at dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1001 3 10 5&//
//[1] 3775//
//root at dLitmus:/sandbox/my-demo# rtspin -w -p 1 -r 1002 1 10 5&//
//[2] 3776//
//root at dLitmus:/sandbox/my-demo# release_ts//
//Synchronous release at time 3381000.00ms.//
//Released 2 real-time tasks.//
//root at dLitmus:/sandbox/my-demo# wait//
//[1]- Done rtspin -w -p 1 -r 1001 3 10 5//
//[2]+ Done rtspin -w -p 1 -r 1002 1 10 5/
The result (...08-56-20.png) is attached to this email, but as one can
see between 50ms and 60ms there is an execution of the second rtspin
outside the space that should have been allocated to reservation 1002
(namely 55-57ms).
So, can I synchronize task execution or at least synchronize the
reservations, using P-RES?
2. When I attach some processes (rtspin for example) to reservations, I
am not able to visualize all the processes in kernelshark
(https://kernelshark.org/). Could somebody tell me: why is this so?
I am able to visualize the rtspin execution with kernelshark if I use
another type of scheduling, but I have problems when using P-RES.
I have attached a screenshot. The "release_ts" command is given from the
kernelshark. In the attached file only one process (rtspin) appears,
but the use case is the same as above (2 table driven reservations, each
reservation has one task). Moreover, in this case only one execution
(only one job) can be seen when visualizing the execution of rtspin with
kernelshark.
Thank you.
Yours sincerely,
Cristina Stangaciu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20200226/37e8090c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot from 2020-02-26 08-48-17.png
Type: image/png
Size: 10368 bytes
Desc: not available
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20200226/37e8090c/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot from 2020-02-26 08-56-20.png
Type: image/png
Size: 15929 bytes
Desc: not available
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20200226/37e8090c/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot from 2020-02-26 09-12-11.png
Type: image/png
Size: 676475 bytes
Desc: not available
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20200226/37e8090c/attachment-0005.png>
More information about the litmus-dev
mailing list