score: Delete unused functions

Delete _Scheduler_Thread_change_resource_root() and
_Scheduler_Thread_change_help_state().

Update #2556.
This commit is contained in:
Sebastian Huber
2016-10-21 14:15:30 +02:00
parent 3a27248054
commit 73a193fdd6
3 changed files with 0 additions and 123 deletions

View File

@@ -153,7 +153,6 @@ endif
if HAS_SMP
libscore_a_SOURCES += src/percpustatewait.c
libscore_a_SOURCES += src/profilingsmplock.c
libscore_a_SOURCES += src/schedulerchangeroot.c
libscore_a_SOURCES += src/schedulerpriorityaffinitysmp.c
libscore_a_SOURCES += src/schedulerprioritysmp.c
libscore_a_SOURCES += src/schedulersimplesmp.c

View File

@@ -1068,48 +1068,6 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Thread_change_state(
the_thread->Scheduler.state = new_state;
}
/**
* @brief Changes the scheduler help state of a thread.
*
* @param[in] the_thread The thread.
* @param[in] new_help_state The new help state.
*
* @return The previous help state.
*/
RTEMS_INLINE_ROUTINE Scheduler_Help_state _Scheduler_Thread_change_help_state(
Thread_Control *the_thread,
Scheduler_Help_state new_help_state
)
{
Scheduler_Node *node = _Thread_Scheduler_get_own_node( the_thread );
Scheduler_Help_state previous_help_state = node->help_state;
node->help_state = new_help_state;
return previous_help_state;
}
/**
* @brief Changes the resource tree root of a thread.
*
* For each node of the resource sub-tree specified by the top thread the
* scheduler asks for help. So the root thread gains access to all scheduler
* nodes corresponding to the resource sub-tree. In case a thread previously
* granted help is displaced by this operation, then the scheduler asks for
* help using its remaining resource tree.
*
* The run-time of this function depends on the size of the resource sub-tree
* and other resource trees in case threads in need for help are produced
* during this operation.
*
* @param[in] top The thread specifying the resource sub-tree top.
* @param[in] root The thread specifying the new resource sub-tree root.
*/
void _Scheduler_Thread_change_resource_root(
Thread_Control *top,
Thread_Control *root
);
RTEMS_INLINE_ROUTINE void _Scheduler_Set_idle_thread(
Scheduler_Node *node,
Thread_Control *idle

View File

@@ -1,80 +0,0 @@
/*
* Copyright (c) 2014 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/score/schedulerimpl.h>
typedef struct {
Thread_Control *root;
Thread_Control *needs_help;
} Scheduler_Set_root_context;
RTEMS_INLINE_ROUTINE bool _Scheduler_Set_root_visitor(
Resource_Node *resource_node,
void *arg
)
{
Scheduler_Set_root_context *ctx = arg;
Thread_Control *root = ctx->root;
Thread_Control *needs_help = root;
Thread_Control *offers_help =
THREAD_RESOURCE_NODE_TO_THREAD( resource_node );
const Scheduler_Control *scheduler = _Scheduler_Get_own( offers_help );
Thread_Control *needs_help_too;
_Resource_Node_set_root( resource_node, &root->Resource_node );
needs_help_too = ( *scheduler->Operations.ask_for_help_X )(
scheduler,
offers_help,
needs_help
);
if ( needs_help_too != needs_help && needs_help_too != NULL ) {
_Assert( ctx->needs_help == NULL );
ctx->needs_help = needs_help_too;
}
return false;
}
void _Scheduler_Thread_change_resource_root(
Thread_Control *top,
Thread_Control *root
)
{
Scheduler_Set_root_context ctx = { root, NULL };
Thread_Control *offers_help = top;
Scheduler_Node *offers_help_node;
Thread_Control *offers_help_too;
offers_help_node = _Scheduler_Thread_get_node( offers_help );
offers_help_too = _Scheduler_Node_get_owner( offers_help_node );
if ( offers_help != offers_help_too ) {
_Scheduler_Set_root_visitor( &offers_help_too->Resource_node, &ctx );
_Assert( ctx.needs_help == offers_help );
ctx.needs_help = NULL;
}
_Scheduler_Set_root_visitor( &top->Resource_node, &ctx );
_Resource_Iterate( &top->Resource_node, _Scheduler_Set_root_visitor, &ctx );
if ( ctx.needs_help != NULL ) {
_Scheduler_Ask_for_help_X( ctx.needs_help );
}
}