On 13/06/13 18:30, Gedare Bloom wrote:
I don't have time to review this code now. A quick skim left me with
some questions:
* What is the difference between a thread that is "scheduled" and "executing"?

A scheduled thread is one of the processor count highest priority threads.

An executing thread executes on exactly one processor. It may have an heir thread and dispatch is requested. On SMP a dispatch on a remote processor needs help from an inter-processor interrupt, thus it will take some time to complete the state change. A lot of things can happen in the meantime.

* Should the new fields in the TCB be part of the *scheduler_info for
the SMP scheduler?

I think every SMP scheduler will need this information due to the dynamic nature of dispatching on remote processors. We can make this scheduler specific if necessary, but at the moment I would keep it simple.

* If yes, should we add scheduler hooks in Thread_Dispatch and
Thread_Start_multitasking?
* If no, should we define the new fields whether or not in SMP mode
(at least the is_executing might be useful for debugging purposes)?.

On uni-processors the state change is synchronous.

--
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  : [email protected]
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to