diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-12 15:55:25 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-05-12 15:56:42 +0200 |
commit | 390e73c4eea85f613a918e8fa3988ccc877726ac (patch) | |
tree | 30e1fb5b29c40b86da651c89d62c5947e0893baa | |
parent | bsps: Declare bsp_start_on_secondary_processors() (diff) | |
download | rtems-390e73c4eea85f613a918e8fa3988ccc877726ac.tar.bz2 |
score: Move out of __RTEMS_HAVE_SYS_CPUSET_H__
Move _Scheduler_Get() and _Scheduler_Set() out of the #if
defined(__RTEMS_HAVE_SYS_CPUSET_H__) block.
-rw-r--r-- | cpukit/score/include/rtems/score/schedulerimpl.h | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/cpukit/score/include/rtems/score/schedulerimpl.h b/cpukit/score/include/rtems/score/schedulerimpl.h index cb73d5e586..74fa403a59 100644 --- a/cpukit/score/include/rtems/score/schedulerimpl.h +++ b/cpukit/score/include/rtems/score/schedulerimpl.h @@ -330,6 +330,40 @@ RTEMS_INLINE_ROUTINE bool _Scheduler_Has_processor_ownership( #endif } +RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get( + Thread_Control *the_thread +) +{ +#if defined(RTEMS_SMP) + return the_thread->scheduler; +#else + (void) the_thread; + + return &_Scheduler_Table[ 0 ]; +#endif +} + +RTEMS_INLINE_ROUTINE void _Scheduler_Set( + const Scheduler_Control *scheduler, + Thread_Control *the_thread +) +{ +#if defined(RTEMS_SMP) + const Scheduler_Control *current_scheduler = _Scheduler_Get( the_thread ); + + if ( current_scheduler != scheduler ) { + _Thread_Set_state( the_thread, STATES_MIGRATING ); + _Scheduler_Free( _Scheduler_Get( the_thread ), the_thread ); + the_thread->scheduler = scheduler; + _Scheduler_Allocate( scheduler, the_thread ); + _Scheduler_Update( scheduler, the_thread ); + _Thread_Clear_state( the_thread, STATES_MIGRATING ); + } +#else + (void) scheduler; +#endif +} + #if defined(__RTEMS_HAVE_SYS_CPUSET_H__) RTEMS_INLINE_ROUTINE void _Scheduler_Get_processor_set( @@ -377,40 +411,6 @@ bool _Scheduler_Get_affinity( cpu_set_t *cpuset ); -RTEMS_INLINE_ROUTINE const Scheduler_Control *_Scheduler_Get( - Thread_Control *the_thread -) -{ -#if defined(RTEMS_SMP) - return the_thread->scheduler; -#else - (void) the_thread; - - return &_Scheduler_Table[ 0 ]; -#endif -} - -RTEMS_INLINE_ROUTINE void _Scheduler_Set( - const Scheduler_Control *scheduler, - Thread_Control *the_thread -) -{ -#if defined(RTEMS_SMP) - const Scheduler_Control *current_scheduler = _Scheduler_Get( the_thread ); - - if ( current_scheduler != scheduler ) { - _Thread_Set_state( the_thread, STATES_MIGRATING ); - _Scheduler_Free( _Scheduler_Get( the_thread ), the_thread ); - the_thread->scheduler = scheduler; - _Scheduler_Allocate( scheduler, the_thread ); - _Scheduler_Update( scheduler, the_thread ); - _Thread_Clear_state( the_thread, STATES_MIGRATING ); - } -#else - (void) scheduler; -#endif -} - RTEMS_INLINE_ROUTINE bool _Scheduler_default_Set_affinity_body( const Scheduler_Control *scheduler, Thread_Control *the_thread, |