[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