RFC Eliminate Use of Task Variables in cpukit

Joel Sherrill joel.sherrill at OARcorp.com
Thu Mar 6 19:27:05 UTC 2014


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
  - ???
+ 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




More information about the devel mailing list