[PATCH 3/3] score: Task get/set affinity

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Apr 9 11:27:53 UTC 2014

On 2014-04-09 13:17, Joel Sherrill wrote:
> On Apr 9, 2014 1:06 AM, Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:
>  >
>  > On 2014-04-08 17:09, Jennifer Averett wrote:
>  > > I thought the consensus was that non-smp systems would not
>  > > support affinity methods.
>  >
>  > I don't remember a discussion about this.
>  >
>  > I think it makes it easier for application developers if the don't have to
>  > plaster their code with #ifdef RTEMS_SMP.  You should also be able to write
>  > libraries that work with SMP and non-SMP configurations.  For this we have to
>  > provide the same ABI.  This should be the long term goal.
> Ironically this is exactly what we have not done with disable preemption and
> task variables.

Originally it was a run-time error.  Usage of RTEMS_PREEMPT is still a run-time 
error.  Maybe the removal of the task variables API for SMP was a bit too fast.

>  > I propose to add a new requirement:
>  >
>  > The non-SMP and SMP RTEMS Classic API should be ABI compatible.
>  >
>  > http://www.rtems.org/wiki/index.php?title=SMP#Requirements
> So you propose to defer compile errors for task variables to run time?

I am not sure.  The task variables are a broken concept even on non-SMP 

>  > On Linux you can use the thread affinity functions also on non-SMP systems.
> For this I do not mind but we did discuss this at the beginning of the
> implementation.
> The short circuit logic for non-smp should be in the api level code and the
> score should have NO code for affinity.

Since the affinity support is used by the Classic and POSIX API it must stay in 
the score.

> Otherwise you impact the minimum profile and this is 100% unacceptable.

There is no overhead in the non-SMP configurations if you don't use the task 
set/get affinity functions.  The scheduler get/set affinity operations are only 
available in SMP configurations.

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