schedulersimplesmp priority lifo on executing
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue May 13 06:41:27 UTC 2014
On 2014-05-12 19:37, Jennifer Averett wrote:
> Attached is a scheduler simulator scenario, expected, and output files from one of
> the tests for the smp simple scheduler. It appears that tasks of
> the same priority running on different cores are no longer selected for
> preemption in fifo order. The executing list is FIFO per priority and the
> search is from the rear so the newest at a priority is selected, not
> the oldest.
Yes, this conforms to the requirements of the G-FP (global fixed priority)
scheduler. The highest priority (lowest priority number) threads get a
processor assigned. So in your scenario we start with four idle threads (id.prio):
i4.255 <= i3.255 <= i2.255 <= i1.255
Start tasks t1, t2, t3, t4 and t5.
t1.3 < t5.5 < t2.6 < t3.7 < t4.8 < i4.255 <= i3.255 <= i2.255 <= i1.255
Start tasks t6 and t7. Please note that t6 has a lower priority than t5 (see
also _Scheduler_priority_Enqueue()). For example on a uni-processor system if
you execute with priority X and start a task with priority X, then there will
be no pre-emption.
t1.3 < t5.5 <= t6.5 <= t7.5 < t2.6 < t3.7 < t4.8 < i4.255 <= i3.255 <= i2.255
<= i1.255
Start task t8.
t1.3 < t8.4 < t5.5 <= t6.5 <= t7.5 < t2.6 < t3.7 < t4.8 < i4.255 <= i3.255 <=
i2.255 <= i1.255
This is why t8.4 uses the processor previously assigned to t7.5.
>
> This was confirmed on the simple SMP priority but should also be on
> the regular SMP priority. I just haven't confirmed it yet.
>
> This is the type of thing the scheduler simulator is very good at helping
> to root out. I don't know if a test exists to verify this behaviour. But it changed
> from the original implementation.
>
> Jennifer Averett
> On-Line Applications Research
>
--
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.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list