#3833 closed enhancement (fixed)

Simplify RTEMS semaphore configuration

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: rtems Version: 5
Severity: normal Keywords: qualification
Cc: Blocked By:
Blocking:

Description

In SMP configurations, the maximum count of MrsP semaphores must be configured via CONFIGURE_MAXIMUM_MRSP_SEMAPHORES. The MrsP semaphore implementation predates the addition of self-contained synchronization objects. At this time, the potential memory reduction was justified considering the more complex configuration and additional use of the workspace. With the availability of self-contained synchronization options, e.g. POSIX mutexes, this is no longer justified. Memory constrained applications should use the self-contained synchronization objects. Remove the CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an impact on applications which use SMP and a large number of scheduler instances.

Change History (6)

comment:1 Changed on 12/11/19 at 08:06:41 by Sebastian Huber <sebastian.huber@…>

In 01f8c12e/rtems:

rtems: Optimize semaphore control block

Move variant, discipline, and global information to flags stored in a
node pointer of active semaphores.

Update #3833.

comment:2 Changed on 12/11/19 at 08:06:45 by Sebastian Huber <sebastian.huber@…>

In 46865542/rtems:

rtems: Simplify semaphore configuration

The MrsP semaphore implementation predates the addition of
self-contained synchronization objects. At this time, the potential
memory reduction was justified considering the more complex
configuration and additional use of the workspace. With the
availability of self-contained synchronization options, e.g. POSIX
mutexes, this is no longer justified. Memory constrained applications
should use the self-contained synchronization objects. Remove the
CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an
impact on applications which use SMP and a large number of scheduler
instances.

Update #3833.

comment:3 Changed on 12/11/19 at 08:12:11 by Sebastian Huber <sebastian.huber@…>

In f7d56f5/rtems-docs:

c-user: Obsolete CONFIGURE_MAXIMUM_MRSP_SEMAPHORES

Update #3833.

comment:4 Changed on 12/19/19 at 09:02:28 by Sebastian Huber <sebastian.huber@…>

In a6887d9/rtems-docs:

c-user: CONFIGURE_MAXIMUM_MRSP_SEMAPHORES

Remove use of CONFIGURE_MAXIMUM_MRSP_SEMAPHORES in example. Fix other
configuration options.

Update #3833.

comment:5 Changed on 12/19/19 at 09:02:30 by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In b12e82d/rtems-docs:

c-user: Clarify CONFIGURE_MAXIMUM_SEMAPHORES

Close #3833.

comment:6 Changed on 06/23/21 at 07:16:03 by Sebastian Huber

Keywords: qualification added
Note: See TracTickets for help on using tickets.