mirror of
https://git.rtems.org/rtems-docs/
synced 2025-10-18 22:13:01 +08:00
@@ -1663,7 +1663,7 @@ DESCRIPTION:
|
||||
|
||||
NOTE:
|
||||
The size of the thread control block is increased by the maximum thread name
|
||||
size. This configuration option is available since RTEMS 4.12.
|
||||
size. This configuration option is available since RTEMS 5.1.
|
||||
|
||||
.. COMMENT: === CONFIGURE_MINIMUM_TASK_STACK_SIZE ===
|
||||
|
||||
@@ -4929,77 +4929,77 @@ CONFIGURE_BDBUF_BUFFER_COUNT
|
||||
----------------------------
|
||||
.. index:: CONFIGURE_BDBUF_BUFFER_COUNT
|
||||
|
||||
This configuration option was introduced in RTEMS 4.7 and is obsolete since
|
||||
RTEMS 4.10.
|
||||
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
|
||||
RTEMS 4.10.0.
|
||||
|
||||
CONFIGURE_BDBUF_BUFFER_SIZE
|
||||
---------------------------
|
||||
.. index:: CONFIGURE_BDBUF_BUFFER_SIZE
|
||||
|
||||
This configuration option was introduced in RTEMS 4.7 and is obsolete since
|
||||
RTEMS 4.10.
|
||||
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
|
||||
RTEMS 4.10.0.
|
||||
|
||||
CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
|
||||
--------------------------------------
|
||||
.. index:: CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
|
||||
|
||||
This configuration option was introduced in RTEMS 4.9 and is obsolete since
|
||||
RTEMS 4.12.
|
||||
This configuration option was introduced in RTEMS 4.9.0 and is obsolete since
|
||||
RTEMS 5.1.
|
||||
|
||||
CONFIGURE_HAS_OWN_BDBUF_TABLE
|
||||
-----------------------------
|
||||
.. index:: CONFIGURE_HAS_OWN_BDBUF_TABLE
|
||||
|
||||
This configuration option was introduced in RTEMS 4.7 and is obsolete since
|
||||
RTEMS 4.10.
|
||||
This configuration option was introduced in RTEMS 4.7.0 and is obsolete since
|
||||
RTEMS 4.10.0.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_BARRIERS
|
||||
--------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_BARRIERS
|
||||
|
||||
This configuration option is obsolete since RTEMS 4.12.
|
||||
This configuration option is obsolete since RTEMS 5.1.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
|
||||
-------------------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
|
||||
|
||||
This configuration option is obsolete since RTEMS 4.12.
|
||||
This configuration option is obsolete since RTEMS 5.1.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
|
||||
-------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
|
||||
|
||||
This configuration option was introduced in RTEMS 4.10 and is obsolete since
|
||||
RTEMS 4.12.
|
||||
This configuration option was introduced in RTEMS 4.10.0 and is obsolete since
|
||||
RTEMS 5.1.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_MUTEXES
|
||||
-------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_MUTEXES
|
||||
|
||||
This configuration option is obsolete since RTEMS 4.12.
|
||||
This configuration option is obsolete since RTEMS 5.1.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_RWLOCKS
|
||||
-------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_RWLOCKS
|
||||
|
||||
This configuration option is obsolete since RTEMS 4.12.
|
||||
This configuration option is obsolete since RTEMS 5.1.
|
||||
|
||||
CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
|
||||
---------------------------------
|
||||
.. index:: CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
|
||||
|
||||
This configuration option is obsolete since RTEMS 4.12.
|
||||
This configuration option is obsolete since RTEMS 5.1.
|
||||
|
||||
CONFIGURE_SMP_APPLICATION
|
||||
-------------------------
|
||||
.. index:: CONFIGURE_SMP_APPLICATION
|
||||
|
||||
This configuration option was introduced in RTEMS 4.11 and is obsolete since
|
||||
RTEMS 4.12.
|
||||
This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
|
||||
RTEMS 5.1.
|
||||
|
||||
CONFIGURE_SMP_MAXIMUM_PROCESSORS
|
||||
--------------------------------
|
||||
.. index:: CONFIGURE_SMP_MAXIMUM_PROCESSORS
|
||||
|
||||
This configuration option was introduced in RTEMS 4.11 and is obsolete since
|
||||
RTEMS 4.12. See also :ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
|
||||
This configuration option was introduced in RTEMS 4.11.0 and is obsolete since
|
||||
RTEMS 5.1. See also :ref:`CONFIGURE_MAXIMUM_PROCESSORS`.
|
||||
|
@@ -258,7 +258,7 @@ only available in SMP configurations and replaces the priority inheritance
|
||||
protocol in this case. One aim of the locking protocols is to avoid priority
|
||||
inversion.
|
||||
|
||||
Since RTEMS 4.12, priority updates due to the locking protocols take place
|
||||
Since RTEMS 5.1, priority updates due to the locking protocols take place
|
||||
immediately and are propagated recursively. The mutex owner and wait for mutex
|
||||
relationships define a directed acyclic graph (DAG). The run-time of the mutex
|
||||
obtain, release and timeout operations depend on the complexity of this
|
||||
@@ -314,7 +314,7 @@ Priority Inheritance Protocol
|
||||
|
||||
The priority of the mutex owner is raised to the highest priority of all
|
||||
threads that currently wait for ownership of this mutex :cite:`Sha:1990:PI`.
|
||||
Since RTEMS 4.12, priority updates due to the priority inheritance protocol
|
||||
Since RTEMS 5.1, priority updates due to the priority inheritance protocol
|
||||
take place immediately and are propagated recursively.
|
||||
|
||||
.. _MrsP:
|
||||
@@ -334,7 +334,7 @@ then the normal priority of the thread is restored. Threads that wait for
|
||||
mutex ownership are not blocked with respect to the scheduler and instead
|
||||
perform a busy wait. The MrsP uses temporary thread migrations to foreign
|
||||
scheduler instances in case of a preemption of the mutex owner. This locking
|
||||
protocol is available since RTEMS 4.11. It was re-implemented in RTEMS 4.12 to
|
||||
protocol is available since RTEMS 4.11. It was re-implemented in RTEMS 5.1 to
|
||||
overcome some shortcomings of the original implementation
|
||||
:cite:`Catellani:2015:MrsP`.
|
||||
|
||||
@@ -353,7 +353,7 @@ OMIP mutexes do not need any external configuration data, e.g. a ceiling
|
||||
priority. This makes them a good choice for general purpose libraries that
|
||||
need internal locking. The complex part of the implementation is contained in
|
||||
the thread queues and shared with the MrsP support. This locking protocol is
|
||||
available since RTEMS 4.12.
|
||||
available since RTEMS 5.1.
|
||||
|
||||
Thread Queues
|
||||
=============
|
||||
@@ -406,7 +406,7 @@ In case the thread is dequeued, there are two options
|
||||
Since there are usually more objects than threads, this actually reduces the
|
||||
memory demands. In addition the objects only contain a pointer to the queue
|
||||
structure. This helps to hide implementation details. Inter-cluster priority
|
||||
queues are available since RTEMS 4.12.
|
||||
queues are available since RTEMS 5.1.
|
||||
|
||||
A doubly-linked list (chain) is used to implement the FIFO queues yielding a
|
||||
:math:`O(1)` worst-case time complexity for enqueue and dequeue operations.
|
||||
@@ -480,9 +480,9 @@ The use cases fall roughly into two categories:
|
||||
and need a high resolution. An example use case is a time driven scheduler,
|
||||
e.g. rate-monotonic or EDF.
|
||||
|
||||
In RTEMS versions prior to 4.12 the timer and timeout support was implemented
|
||||
In RTEMS versions prior to 5.1 the timer and timeout support was implemented
|
||||
by means of delta chains. This implementation was unfit for SMP systems due to
|
||||
several reasons. The new implementation present since RTEMS 4.12 uses a
|
||||
several reasons. The new implementation present since RTEMS 5.1 uses a
|
||||
red-black tree with the expiration time as the key. This leads to
|
||||
:math:`O(log(n))` worst-case insert and removal operations for :math:`n` active
|
||||
timer or timeouts. Each processor provides its own timer and timeout service
|
||||
|
@@ -11,7 +11,7 @@ Symmetric Multiprocessing (SMP)
|
||||
Introduction
|
||||
============
|
||||
|
||||
The Symmetric Multiprocessing (SMP) support of the RTEMS 4.12 is available on
|
||||
The Symmetric Multiprocessing (SMP) support of the RTEMS is available on
|
||||
|
||||
- ARMv7-A,
|
||||
|
||||
@@ -324,7 +324,7 @@ executing thread and restored from the thread control block of the heir thread.
|
||||
This is inherently broken if more than one executing thread exists.
|
||||
Alternatives to task variables are POSIX keys and :ref:`TLS <TLS>`. All use
|
||||
cases of task variables in the RTEMS code base were replaced with alternatives.
|
||||
The task variable API has been removed in RTEMS 4.12.
|
||||
The task variable API has been removed in RTEMS 5.1.
|
||||
|
||||
Highest Priority Thread Never Walks Alone
|
||||
-----------------------------------------
|
||||
|
@@ -554,7 +554,7 @@ Transition Advice for Obsolete Notepads
|
||||
.. index:: rtems_task_set_note
|
||||
|
||||
Task notepads and the associated directives :ref:`rtems_task_get_note` and
|
||||
:ref:`rtems_task_set_note` were removed in RTEMS 4.12. These were never
|
||||
:ref:`rtems_task_set_note` were removed in RTEMS 5.1. These were never
|
||||
thread-safe to access and subject to conflicting use of the notepad index by
|
||||
libraries which were designed independently.
|
||||
|
||||
@@ -573,7 +573,7 @@ Transition Advice for Obsolete Task Variables
|
||||
|
||||
Task notepads and the associated directives :ref:`rtems_task_variable_add`,
|
||||
:ref:`rtems_task_variable_get` and :ref:`rtems_task_variable_delete` were
|
||||
removed in RTEMS 4.12. Task variables must be replaced by POSIX Keys or
|
||||
removed in RTEMS 5.1. Task variables must be replaced by POSIX Keys or
|
||||
thread-local storage (TLS). POSIX Keys are available in all configurations and
|
||||
support value destructors. For the TLS support consult the :title:`RTEMS CPU
|
||||
Architecture Supplement`.
|
||||
@@ -1697,7 +1697,7 @@ TASK_GET_NOTE - Get task notepad entry
|
||||
|
||||
.. warning::
|
||||
|
||||
This directive was removed in RTEMS 4.12.
|
||||
This directive was removed in RTEMS 5.1.
|
||||
|
||||
CALLING SEQUENCE:
|
||||
.. code-block:: c
|
||||
@@ -1750,7 +1750,7 @@ TASK_SET_NOTE - Set task notepad entry
|
||||
|
||||
.. warning::
|
||||
|
||||
This directive was removed in RTEMS 4.12.
|
||||
This directive was removed in RTEMS 5.1.
|
||||
|
||||
CALLING SEQUENCE:
|
||||
.. code-block:: c
|
||||
@@ -1804,7 +1804,7 @@ TASK_VARIABLE_ADD - Associate per task variable
|
||||
|
||||
.. warning::
|
||||
|
||||
This directive was removed in RTEMS 4.12.
|
||||
This directive was removed in RTEMS 5.1.
|
||||
|
||||
CALLING SEQUENCE:
|
||||
.. code-block:: c
|
||||
@@ -1866,7 +1866,7 @@ TASK_VARIABLE_GET - Obtain value of a per task variable
|
||||
|
||||
.. warning::
|
||||
|
||||
This directive was removed in RTEMS 4.12.
|
||||
This directive was removed in RTEMS 5.1.
|
||||
|
||||
CALLING SEQUENCE:
|
||||
.. code-block:: c
|
||||
@@ -1924,7 +1924,7 @@ TASK_VARIABLE_DELETE - Remove per task variable
|
||||
|
||||
.. warning::
|
||||
|
||||
This directive was removed in RTEMS 4.12.
|
||||
This directive was removed in RTEMS 5.1.
|
||||
|
||||
CALLING SEQUENCE:
|
||||
.. code-block:: c
|
||||
|
Reference in New Issue
Block a user