score: Delete _Thread_Dispatch_set_disable_level()

This function was only used in some tests and can be replaced with other
functions.
This commit is contained in:
Sebastian Huber
2014-03-06 09:43:59 +01:00
parent b323e1fb41
commit 825cb1f196
5 changed files with 5 additions and 70 deletions
@@ -120,14 +120,6 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void )
*/
void _Giant_Drop( uint32_t self_cpu );
/**
* @brief Sets thread dispatch level to the value passed in.
*
* This routine sets thread dispatch level to the
* value passed in.
*/
uint32_t _Thread_Dispatch_set_disable_level(uint32_t value);
/**
* @brief Increments the thread dispatch level.
*
@@ -142,18 +134,6 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void )
*/
uint32_t _Thread_Dispatch_decrement_disable_level(void);
#else /* RTEMS_SMP */
/**
* @brief Set thread dispatch disable level.
*
* This routine sets thread dispatch level to the
* value passed in.
*/
RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value)
{
_Thread_Dispatch_disable_level = value;
return value;
}
/**
* @brief Increase thread dispatch disable level.
*
@@ -118,46 +118,6 @@ uint32_t _Thread_Dispatch_decrement_disable_level( void )
return disable_level;
}
/*
* Note this method is taking a heavy handed approach to
* setting the dispatch level. This may be optimized at a
* later timee, but it must be in such a way that the nesting
* level is decremented by the same number as the dispatch level.
* This approach is safest until we are sure the nested spinlock
* is successfully working with smp isr source code.
*/
uint32_t _Thread_Dispatch_set_disable_level(uint32_t value)
{
ISR_Level isr_level;
uint32_t disable_level;
_ISR_Disable_without_giant( isr_level );
disable_level = _Thread_Dispatch_disable_level;
_ISR_Enable_without_giant( isr_level );
/*
* If we need the dispatch level to go higher
* call increment method the desired number of times.
*/
while ( value > disable_level ) {
disable_level = _Thread_Dispatch_increment_disable_level();
}
/*
* If we need the dispatch level to go lower
* call increment method the desired number of times.
*/
while ( value < disable_level ) {
disable_level = _Thread_Dispatch_decrement_disable_level();
}
return value;
}
void _Giant_Acquire( void )
{
ISR_Level isr_level;
@@ -93,7 +93,6 @@ rtems_task Task_1(
{
Install_tm27_vector( Isr_handler ) ;
Interrupt_nest = 0;
_Thread_Dispatch_set_disable_level( 0 );
/* Benchmark code */
benchmark_timer_initialize();
+3 -1
View File
@@ -584,7 +584,9 @@ void complete_test( void )
set_thread_heir( _Thread_Get_executing() );
set_thread_dispatch_necessary( false );
_Thread_Dispatch_set_disable_level( 0 );
for (index = 0; index < 2 * OPERATION_COUNT; ++index) {
_Thread_Unnest_dispatch();
}
/*
* Now dump all the times
+2 -8
View File
@@ -112,8 +112,6 @@ rtems_task Task_1(
Interrupt_nest = 0;
_Thread_Dispatch_set_disable_level( 0 );
Interrupt_occurred = 0;
benchmark_timer_initialize();
@@ -145,7 +143,7 @@ rtems_task Task_1(
* No preempt .. nested
*/
_Thread_Dispatch_set_disable_level( 1 );
_Thread_Disable_dispatch();
Interrupt_nest = 1;
@@ -159,7 +157,7 @@ rtems_task Task_1(
#endif
Interrupt_return_time = benchmark_timer_read();
_Thread_Dispatch_set_disable_level( 0 );
_Thread_Unnest_dispatch();
put_time(
"rtems interrupt: entry overhead returns to nested interrupt",
@@ -181,8 +179,6 @@ rtems_task Task_1(
* Does a preempt .. not nested
*/
_Thread_Dispatch_set_disable_level( 0 );
#if defined(RTEMS_SMP)
_ISR_Disable_without_giant(level);
#endif
@@ -253,8 +249,6 @@ rtems_task Task_2(
* Switch back to the other task to exit the test.
*/
_Thread_Dispatch_set_disable_level( 0 );
#if defined(RTEMS_SMP)
rtems_interrupt_disable(level);
#endif