[PATCH 11/12] scheduler: New simple SMP scheduler implementation
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jun 13 18:29:29 UTC 2013
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 : 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