On 20/11/2021 21:09, Gedare Bloom wrote:
On Mon, Nov 15, 2021 at 10:13 AM Sebastian Huber
<sebastian.hu...@embedded-brains.de>  wrote:
If a node is moved from the scheduled chain to the ready queue, then we
know that it is the highest priority ready node.  So, it can be
prepended to the ready queue without doing any comparisons.

I'm not certain on the logic here. It is possible for 2 threads X and
Y become ready simultaneously, such that:

X is higher priority than Y. X and Y are higher priority than Z. X
gets scheduled to replace Z, but there is no lower-priority/affine CPU
for Y to get scheduled, so Y will be ready. Then Z is not
higher-priority than Y so it shouldn't be directly prepended.

I think that could happen?


The EDF SMP scheduler supports only one-to-one and one-to-all thread to processor affinities. The one-to-all threads have a separate ready queue and there is one ready queue for each processor owned by the scheduler used for the one-to-one threads. For the ordering across these queues a 64-bit generation number is used. The restriction to one-to-one and one-to-all affinities is the key property which enables this optimization.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to