From cf4045630e1dd59221c67005ca1652b4350ad8eb Mon Sep 17 00:00:00 2001 From: Gedare Bloom Date: Tue, 10 Mar 2015 15:28:19 -0400 Subject: cpukit: deprecate task variables. closes #2293. --- doc/user/task.t | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'doc/user') diff --git a/doc/user/task.t b/doc/user/task.t index 5aec9b19cc..5606c4adc3 100644 --- a/doc/user/task.t +++ b/doc/user/task.t @@ -308,6 +308,8 @@ generally result in an exception condition. @cindex per task variables +Per task variables are deprecated, see the warning below. + Per task variables are used to support global variables whose value may be unique to a task. After indicating that a variable should be treated as private (i.e. per-task) the task can access and modify the @@ -346,6 +348,9 @@ that task is the logical owner of the value in the per-task variable's location. There is no way for a single memory image to contain the correct value for each task executing on each core. Consequently, per-task variables are disabled in SMP configurations of RTEMS. +Instead the application developer should +consider the use of POSIX Keys or Thread Local Storage (TLS). POSIX Keys +are not enabled in all RTEMS configurations. @subsection Building a Task Attribute Set @@ -1787,6 +1792,8 @@ passed to the destructor function is the task's value of the variable. @subheading NOTES: +This directive is deprecated and task variables will be removed. + Task variables increase the context switch time to and from the tasks that own them so it is desirable to minimize the number of task variables. One efficient method @@ -1844,6 +1851,8 @@ task, which can get its private value by directly accessing the variable. @subheading NOTES: +This directive is deprecated and task variables will be removed. + If you change memory which @code{task_variable_value} points to, remember to declare that memory as volatile, so that the compiler will optimize it correctly. In this case both the pointer @@ -1895,6 +1904,8 @@ This directive removes the given location from a task's context. @subheading NOTES: +This directive is deprecated and task variables will be removed. + Per-task variables are disabled in SMP configurations and this service is not available. -- cgit v1.2.3