On 18/03/16 14:38, Darshit Shah wrote:
> "schedulable task sets would miss their deadlines since it does not
consider
> migrating high priority tasks"
>
> I think this is not correct. The current APA scheduler should implement
> strong APA. However, it may iterate several times over all (!) ready
tasks.
> This is the actual problem.
>
I may be wrong, but I think the current implementation does indeed not
consider strong APA guarantees.
The `_Scheduler_priority_affinity_SMP_Get_lowest_scheduled` method
tries to find a thread that needs to be migrated to another core in
order to schedule the selected thread. In this method, on line 274 is
the comment:
/*
* If we didn't find a thread which is of equal or lower
importance
* than filter thread is, then we can't schedule the filter thread
* to execute.
*/
If I understand this comment correctly, the scheduler does not
consider threads for migration if they are not of "equal or lower
importance" than the filter thread.
In contrast to the Linux push/pull scheduler you search here in the set
of all scheduled/ready threads and not just in your local queue. I
didn't look into the details, but I think this is enough for strong APA.
See also _Scheduler_priority_affinity_SMP_Check_for_migrations().
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel