Uniprocessor Tests in SMP Configuration

Chris Johns chrisj at rtems.org
Mon Feb 24 22:06:15 UTC 2014


On 23/02/2014 9:14 pm, Sebastian Huber wrote:
> Hello,
>
> I would do the following.
>
> 1. Implement the thread deletion on SMP.  I will work on this after the
> profiling.
>
> http://www.rtems.org/wiki/index.php/SMP#Thread_Delete.2FRestart
>
> 2. Use alternatives to task variables for all RTEMS support components,
> e.g. the file system environment.  Here we can use __getreent() for
> example with
>
> struct S {
>    struct _reent reent;
>    rtems_user_env_t env;
> }
>
> POSIX keys should be moved outside the RTEMS_POSIX_API scope.
>
> 3. Disable the task variables via pre-processor on SMP and remove the
> run-time check.
>
> 4. Add condition variables to the Classic API.
>
> 5. Use alternatives to disabled preemption for all RTEMS support
> components, e.g. bdbuf.
>
> 6. Disable RTEMS_PREEMT via pre-processor on SMP and remove the run-time
> check.
>

This is great summary of the tasks needing to be done in this area.

> We (= embedded brains) have currently only a budget for 1.

That is fine. This is an RTEMS Project issue to resolve and finally 
accept the patches and I certainly do not expect you to have to find all 
the funding and complete the work. The RTEMS Project needs to define and 
manage the tasks so they can if possible be done in parallel or by other 
means. If also lets us know what work you have completed and what remains.

I should also point out doing this helps the community understand the 
size of work involved and just how much you are doing. It is really 
great stuff and I thank you.

Chris



More information about the devel mailing list