On 18 March 2016 at 14:48, Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> > > 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(). > > That is true. Unlike the linux scheduler, all currently scheduled threads are considered for migration, but then it seems we only decide to migrate a thread if its priority is lower than the thread being dispatched. In case I'm wrong then the current implementation is indeed Strong APA, just with a bad time complexity. Else, we still have some form of a weak APA constrain in the scheduler. > > -- > 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. > > -- Thanking You, Darshit Shah
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel