[rtems commit] rtems: Fix rtems_task_create() scheduler selection

Sebastian Huber sebh at rtems.org
Thu Nov 10 08:59:05 UTC 2016


Module:    rtems
Branch:    master
Commit:    2f5ac5b5075e2efe8fc2cdbf151ee36939e82003
Changeset: http://git.rtems.org/rtems/commit/?id=2f5ac5b5075e2efe8fc2cdbf151ee36939e82003

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Nov  4 15:26:52 2016 +0100

rtems: Fix rtems_task_create() scheduler selection

Use the home scheduler of the executing thread for the created thread.
This is in line with pthread_create().  Using the current processor may
pick up an unexpected scheduler in case of a temporary migration, e.g.
due to locking protocols.

---

 cpukit/rtems/src/taskcreate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpukit/rtems/src/taskcreate.c b/cpukit/rtems/src/taskcreate.c
index e231d4a..2695382 100644
--- a/cpukit/rtems/src/taskcreate.c
+++ b/cpukit/rtems/src/taskcreate.c
@@ -90,7 +90,7 @@ rtems_status_code rtems_task_create(
     }
   }
 
-  scheduler = _Scheduler_Get_by_CPU_index( _SMP_Get_current_processor() );
+  scheduler = _Thread_Scheduler_get_home( _Thread_Get_executing() );
 
   priority = _RTEMS_Priority_To_core( scheduler, initial_priority, &valid );
   if ( !valid ) {




More information about the vc mailing list