RFC Eliminate Use of Task Variables in cpukit

Gedare Bloom gedare at rtems.org
Thu Mar 6 19:57:23 UTC 2014


On Thu, Mar 6, 2014 at 2:27 PM, Joel Sherrill <joel.sherrill at oarcorp.com> wrote:
> Hi
>
> As discussed, task variables are broken by design for SMP configurations.
> This means we need to eliminate their use in cpukit and adjust other code
> as needed.  Here is the list of files which use rtems_task_variable_add().
> We need to figure out how to address each case:
>
> Comunity help could really be used to do each of the cases in cpukit
> where task variables are used.
>
> Real Uses To Change
> ===================
> + cpukit/libmisc/shell/shell.c
>   - Uses rtems_current_shell_env. Switch to POSIX Keys?
> + cpukit/librpc/src/rpc/rtems_rpc.c
>   - Uses rtems_rpc_task_variables. Switch to POSIX Keys?
> + cpukit/libcsupport/src/gxx_wrappers.c
>   - Definitely switch to keys
> + cpukit/libcsupport/src/privateenv.c
>   - Uses rtems_global_user_env. Switch to POSIX Keys?
>
> Code to Clean Up When Not Built in SMP
> ======================================
> + testsuites/smptests/smpunsupported01/init.c
>   - remove task variable case when task variables not built in SMP
> + testsuites/psxtests/psxconfig01/init.c
>   - do not run task variable case
> + testsuites/sptests/sp28/init.c
>   - disable test for SMP
> + c/src/lib/libbsp/powerpc/mvme5500/vectors/exceptionhandler.c
>   - ???
It looks like this bsp permits installing per-task exception handlers.
This seems pretty iffy to me, but the powerpc/mvme5500 users should be
consulted whether they use or need this feature. I would vote to
deprecate it for the next release and then eliminate it altogether if
no one pipes up that it is desired.

> + c/src/ada/rtems-tasks.adb
>   - interesting case, not sure about binding. Ada has no preprocessing
> + doc/user/task.t
>   - Add note on when disabled
> + cpukit/rtems/include/rtems/rtems/tasks.h
>   - conditionalize out task variables when SMP
> + cpukit/rtems/mainpage.h
>   - Add note on when disabled
> + cpukit/rtems/src/taskvariableadd.c
>   - disable all task variable source when SMP
>
> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel



More information about the devel mailing list