RFC Eliminate Use of Task Variables in cpukit

Joel Sherrill joel.sherrill at OARcorp.com
Thu Mar 6 20:31:14 UTC 2014


On 3/6/2014 1:57 PM, Gedare Bloom wrote:
> 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?
Help is really needed to get these done. ***hint***
>> 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.
It is just a uniprocessor board so not a huge concern to me but it is an
oddly
general feature to add at a BSP level.
>> + 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

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