<span style=" font-size:10pt;font-family:sans-serif">The complete code
of the two tasks is here:</span>
<br>
<br><a href="https://gitrepos.estec.esa.int/ttsiodras/RTEMS-build-workflows/-/blob/master/OAR/src/task1.c"><span style=" font-size:10pt;color:blue;font-family:sans-serif">https://gitrepos.estec.esa.int/ttsiodras/RTEMS-build-workflows/-/blob/master/OAR/src/task1.c</span></a>
<br>
<br><span style=" font-size:10pt;font-family:sans-serif">and here:</span>
<br>
<br><a href="https://gitrepos.estec.esa.int/ttsiodras/RTEMS-build-workflows/-/blob/master/OAR/src/task2.c"><span style=" font-size:10pt;color:blue;font-family:sans-serif">https://gitrepos.estec.esa.int/ttsiodras/RTEMS-build-workflows/-/blob/master/OAR/src/task2.c</span></a>
<br>
<br><span style=" font-size:10pt;font-family:sans-serif">...so the short
answer is that, besides what you already mentioned...  none.</span>
<br>
<br><span style=" font-size:10pt;color:#000080;font-family:sans-serif"><b>Thanassis
Tsiodras</b></span>
<br><span style=" font-size:10pt;font-family:sans-serif">Real-time Embedded
Software Engineer </span>
<br><span style=" font-size:10pt;font-family:sans-serif">System, Software
and Technology Department</span>
<br>
<br><span style=" font-size:10pt;font-family:sans-serif"><b>ESTEC</b></span>
<br><span style=" font-size:10pt;font-family:sans-serif">Keplerlaan 1,
PO Box 299</span>
<br><span style=" font-size:10pt;font-family:sans-serif">NL-2200 AG Noordwijk,
The Netherlands</span>
<br><span style=" font-size:10pt;font-family:sans-serif">Thanassis.Tsiodras@esa.int
| </span><a href=www.esa.int><span style=" font-size:10pt;color:blue;font-family:sans-serif">www.esa.int</span></a>
<br><span style=" font-size:10pt;font-family:sans-serif">T +31 71 565 5332</span>
<br>
<br>
<br>
<br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">From:
       </span><span style=" font-size:9pt;font-family:sans-serif">"Thomas
Doerfler" <Thomas.Doerfler@imd-systems.de></span>
<br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">To:
       </span><span style=" font-size:9pt;font-family:sans-serif">users@rtems.org</span>
<br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Date:
       </span><span style=" font-size:9pt;font-family:sans-serif">01/05/2020
10:59</span>
<br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Subject:
       </span><span style=" font-size:9pt;font-family:sans-serif">Re:
RTEMS tasks timesliced instead of running to completion. TIMESLICE flag
is not active!</span>
<br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Sent
by:        </span><span style=" font-size:9pt;font-family:sans-serif">"users"
<users-bounces@rtems.org></span>
<br>
<hr noshade>
<br>
<br>
<br><tt><span style=" font-size:10pt">Fernando,<br>
<br>
a second guess: which systems calls are you doing in your Task1 and<br>
task2? Obviously your are sending events (which is not preempting) and<br>
doing console output (which is questionable regarding preemption), but<br>
which other calls are involved?<br>
<br>
wkr,<br>
<br>
Thomas.<br>
<br>
Am 30.04.20 um 17:14 schrieb Fernando DomĂ­nguez Pousa:<br>
> Hello,<br>
> <br>
>  <br>
> <br>
> I am executing a program which executes four different task with testing<br>
> operations. These tasks were created and launched in this way:<br>
> <br>
>  <br>
> <br>
> status = rtems_task_create(Task_name[i], (rtems_task_priority) 2,<br>
> RTEMS_MINIMUM_STACK_SIZE, RTEMS_DEFAULT_MODES,<br>
> <br>
>            
(i%2) == 0 ? RTEMS_FLOATING_POINT :<br>
> RTEMS_DEFAULT_ATTRIBUTES, &Task_id[i]);<br>
> <br>
>  <br>
> <br>
> status = rtems_task_start(Task_id[i], (i%2) == 0 ? Task1_EntryPoint
:<br>
> Task2_EntryPoint, i);<br>
> <br>
>  <br>
> <br>
> As you can see all task are created with the same priority, and launched<br>
> one after the other inside a for loop. They are configured in default<br>
> modes, so time slicing is disabled by default  (all mode bits
are 0).<br>
> This result would be expected due to each task would run-to-completion<br>
> because all tasks have the same priority:<br>
> <br>
>  <br>
> <br>
> The expected result:<br>
> <br>
> [MAIN] Waiting for testing tasks to complete...<br>
> <br>
> [TASK 0] Starting...<br>
> <br>
> [TASK 0] Computed the correct floating point result.<br>
> <br>
> [TASK 1] Starting...<br>
> <br>
> [TASK 1] Computed the correct integer result.<br>
> <br>
> [TASK 2] Starting...<br>
> <br>
> [TASK 2] Computed the correct floating point result.<br>
> <br>
> [TASK 3] Starting...<br>
> <br>
> [TASK 3] Computed the correct integer result.<br>
> <br>
> [MAIN] All testing tasks completed.<br>
> <br>
>  <br>
> <br>
> Nevertheless, using RTEMS_DEFAULT_MODES, RTEMS_DEFAULT_MODES |<br>
> RTEMS_TIMESLICE or RTEMS_DEFAULT_MODES | RTEMS_NO_PREEMPT either as<br>
> rtems_mode, the result is always the same.<br>
> <br>
>  <br>
> <br>
> The actual result:<br>
> <br>
> [MAIN] Waiting for testing tasks to complete...<br>
> <br>
> [TASK 0] Starting...<br>
> <br>
> [TASK 1] Starting...<br>
> <br>
> [TASK 2] Starting...<br>
> <br>
> [TASK 3] Starting...<br>
> <br>
> [TASK 0] Computed the correct floating point result.<br>
> <br>
> [TASK 1] Computed the correct integer result.<br>
> <br>
> [TASK 2] Computed the correct floating point result.<br>
> <br>
> [TASK 3] Computed the correct integer result.<br>
> <br>
> [MAIN] All testing tasks completed.<br>
> <br>
>  <br>
> <br>
> At RTEMS API Guide:<br>
> <br>
>  <br>
> <br>
> The timeslicing component is used by the RTEMS scheduler to determine<br>
> how the processor is allocated to tasks of equal priority. If<br>
> timeslicing is enabled (RTEMS_TIMESLICE), then RTEMS will limit the<br>
> amount of time the task can execute before the processor is allocated
to<br>
> another ready task of equal priority.<br>
> <br>
>  <br>
> <br>
> *The length of the timeslice is application dependent and specified
in<br>
> the Configuration Table. If timeslicing is disabled<br>
> (**RTEMS_NO_TIMESLICE**), then the task will be allowed to execute
until<br>
> a task of higher priority is made ready. *However I have not any task<br>
> with higher priority, Init task priority is lower.<br>
> <br>
>  <br>
> <br>
> If RTEMS_NO_PREEMPT is selected, then the timeslicing component
is<br>
> ignored by the scheduler.<br>
> <br>
>  <br>
> <br>
> How can I execute this tasks in a run to completion fashion for same<br>
> priority tasks? Task 0 starts and ends, then Task1 starts and ends…
etc,<br>
> <br>
>  <br>
> <br>
> Regards,<br>
> <br>
>  <br>
> <br>
> Fer.<br>
> <br>
>  <br>
> <br>
> <br>
> PPlease consider the environment before printing this e-mail.<br>
> <br>
> _______________________________________________<br>
> users mailing list<br>
> users@rtems.org<br>
> </span></tt><a href=http://lists.rtems.org/mailman/listinfo/users><tt><span style=" font-size:10pt">http://lists.rtems.org/mailman/listinfo/users</span></tt></a><tt><span style=" font-size:10pt"><br>
> <br>
<br>
-- <br>
IMD Ingenieurbuero fuer Microcomputertechnik<br>
Thomas Doerfler           Herbststrasse 8<br>
D-82178 Puchheim          Germany<br>
email:    Thomas.Doerfler@imd-systems.de<br>
PGP public key available on request<br>
_______________________________________________<br>
users mailing list<br>
users@rtems.org<br>
</span></tt><a href=http://lists.rtems.org/mailman/listinfo/users><tt><span style=" font-size:10pt">http://lists.rtems.org/mailman/listinfo/users</span></tt></a><tt><span style=" font-size:10pt"><br>
</span></tt>
<br>
<br> <PRE>This message is intended only for the recipient(s) named above. It may contain proprietary information and/or
protected content. Any unauthorised disclosure, use, retention or dissemination is prohibited. If you have received
this e-mail in error, please notify the sender immediately. ESA applies appropriate organisational measures to protect
personal data, in case of data privacy queries, please contact the ESA Data Protection Officer (dpo@esa.int).
</PRE>