diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-07 12:06:01 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-12-11 09:05:07 +0100 |
commit | 4686554260a89ab1127d0583d5636df4174bc813 (patch) | |
tree | a4abd059baddd1bd17b30d30dda15e2b7d579617 /cpukit/include/rtems/score/mrspimpl.h | |
parent | rtems: Optimize semaphore control block (diff) | |
download | rtems-4686554260a89ab1127d0583d5636df4174bc813.tar.bz2 |
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.
Diffstat (limited to 'cpukit/include/rtems/score/mrspimpl.h')
-rw-r--r-- | cpukit/include/rtems/score/mrspimpl.h | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/cpukit/include/rtems/score/mrspimpl.h b/cpukit/include/rtems/score/mrspimpl.h index 45b1d1ce7d..a576bc42dc 100644 --- a/cpukit/include/rtems/score/mrspimpl.h +++ b/cpukit/include/rtems/score/mrspimpl.h @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2014, 2016 embedded brains GmbH. All rights reserved. + * Copyright (c) 2014, 2019 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -31,7 +31,6 @@ #include <rtems/score/status.h> #include <rtems/score/threadqimpl.h> #include <rtems/score/watchdogimpl.h> -#include <rtems/score/wkspace.h> #ifdef __cplusplus extern "C" { @@ -302,13 +301,6 @@ RTEMS_INLINE_ROUTINE Status_Control _MRSP_Initialize( return STATUS_INVALID_NUMBER; } - mrsp->ceiling_priorities = _Workspace_Allocate( - sizeof( *mrsp->ceiling_priorities ) * scheduler_count - ); - if ( mrsp->ceiling_priorities == NULL ) { - return STATUS_NO_MEMORY; - } - for ( i = 0 ; i < scheduler_count ; ++i ) { const Scheduler_Control *scheduler_of_index; @@ -524,7 +516,6 @@ RTEMS_INLINE_ROUTINE void _MRSP_Destroy( { _MRSP_Release( mrsp, queue_context ); _Thread_queue_Destroy( &mrsp->Wait_queue ); - _Workspace_Free( mrsp->ceiling_priorities ); } /** @} */ |