summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/mrspimpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-07 12:06:01 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-11 09:05:07 +0100
commit4686554260a89ab1127d0583d5636df4174bc813 (patch)
treea4abd059baddd1bd17b30d30dda15e2b7d579617 /cpukit/include/rtems/score/mrspimpl.h
parentrtems: Optimize semaphore control block (diff)
downloadrtems-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.h11
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 );
}
/** @} */