[PATCH 26/32] score: Avoid Giant _Objects_Extend_information()
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed May 18 09:20:45 UTC 2016
Avoid Giant lock for _Objects_Extend_information().
Update #2280.
Update #2555.
---
cpukit/score/src/objectextendinformation.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/cpukit/score/src/objectextendinformation.c b/cpukit/score/src/objectextendinformation.c
index b1fcec7..2a76114 100644
--- a/cpukit/score/src/objectextendinformation.c
+++ b/cpukit/score/src/objectextendinformation.c
@@ -113,7 +113,7 @@ void _Objects_Extend_information(
* Do we need to grow the tables?
*/
if ( do_extend ) {
- ISR_Level level;
+ ISR_lock_Context lock_context;
void **object_blocks;
uint32_t *inactive_per_block;
Objects_Control **local_table;
@@ -225,8 +225,8 @@ void _Objects_Extend_information(
local_table[ index ] = NULL;
}
- _Thread_Disable_dispatch();
- _ISR_Disable( level );
+ /* FIXME: https://devel.rtems.org/ticket/2280 */
+ _ISR_lock_ISR_disable( &lock_context );
old_tables = information->object_blocks;
@@ -241,8 +241,7 @@ void _Objects_Extend_information(
information->maximum
);
- _ISR_Enable( level );
- _Thread_Enable_dispatch();
+ _ISR_lock_ISR_enable( &lock_context );
_Workspace_Free( old_tables );
--
1.8.4.5
More information about the devel
mailing list