diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-08 11:49:15 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-20 10:14:04 +0200 |
commit | aea4a919933d721931f65d81391bf2b13b0f79aa (patch) | |
tree | 787ad270058fed0126761404a7bc0541fade95ce /cpukit/score/include/rtems/score/schedulersimplesmp.h | |
parent | smp: _Scheduler_simple_smp_Allocate_processor() (diff) | |
download | rtems-aea4a919933d721931f65d81391bf2b13b0f79aa.tar.bz2 |
smp: Optimize Simple SMP scheduler
Add Thread_Control::is_in_the_air field if configured for SMP. This
helps to simplify the extract operation and avoids superfluous
inter-processor interrupts. Move the processor allocation step into the
enqueue operation.
Add and use _Scheduler_simple_smp_Get_highest_ready(). Add and use
_Scheduler_SMP_Get_lowest_scheduled().
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulersimplesmp.h')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulersimplesmp.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h index f62068a8af..7d29dda366 100644 --- a/cpukit/score/include/rtems/score/schedulersimplesmp.h +++ b/cpukit/score/include/rtems/score/schedulersimplesmp.h @@ -57,7 +57,7 @@ extern "C" { _Scheduler_simple_smp_Initialize, \ _Scheduler_simple_smp_Schedule, \ _Scheduler_simple_smp_Yield, \ - _Scheduler_simple_smp_Extract, \ + _Scheduler_simple_smp_Block, \ _Scheduler_simple_smp_Enqueue_priority_fifo, \ _Scheduler_default_Allocate, \ _Scheduler_default_Free, \ @@ -73,6 +73,8 @@ extern "C" { void _Scheduler_simple_smp_Initialize( void ); +void _Scheduler_simple_smp_Block( Thread_Control *thread ); + void _Scheduler_simple_smp_Enqueue_priority_fifo( Thread_Control *thread ); void _Scheduler_simple_smp_Enqueue_priority_lifo( Thread_Control *thread ); |