[RTEMS Project] #3835: Support statically allocated threads
RTEMS trac
trac at rtems.org
Fri Jan 3 06:37:06 UTC 2020
#3835: Support statically allocated threads
-----------------------------+------------------------------
Reporter: Sebastian Huber | Owner: Sebastian Huber
Type: enhancement | Status: assigned
Priority: normal | Milestone: 5.1
Component: score | Version: 5
Severity: normal | Resolution:
Keywords: | Blocked By: 3838
Blocking: |
-----------------------------+------------------------------
Description changed by Sebastian Huber:
Old description:
> In some applications it is desirable to have statically allocated
> resources for all operating system objects.
>
> In addition to the thread control block, up to four memory areas are
> currently allocated by a thread:
>
> 1. stack area
>
> 2. TLS area
>
> 3. FP context
>
> 4. thread queue heads
>
> Currently the FP context and the TLS area are separately allocated from
> the workspace. This complicates the workspace size estimate. Add the FP
> context and TLS size to the stack size and place them in the stack area.
> This makes it also possible to move the stack area allocation out of
> _Thread_Initialize(). Use a hook to get the thread queue heads which is
> configured depending on the unlimited objects option of the
> configuration.
New description:
In some applications it is desirable to have statically allocated
resources for all operating system objects.
In addition to the thread control block, up to four memory areas are
currently allocated by a thread:
1. stack area
2. TLS area
3. FP context
4. thread queue heads
Currently the FP context and the TLS area are separately allocated from
the workspace. This complicates the workspace size estimate. Add the FP
context and TLS size to the stack size and place them in the stack area.
This makes it also possible to move the stack area allocation out of
_Thread_Initialize(). Use a hook to get the thread queue heads which is
configured depending on the unlimited objects option of the configuration.
Statically allocate the stacks for internal threads (e.g. idle and MPCI
receive server) in a dedicated linker section (similar to the interrupt
stacks). Mention this in the Classic API Guide configuration chapter.
--
--
Ticket URL: <http://devel.rtems.org/ticket/3835#comment:10>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list