Index: cpukit/score/include/rtems/score/schedulerprioritysmpimpl.h
===================================================================
--- cpukit/score/include/rtems/score/schedulerprioritysmpimpl.h	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/include/rtems/score/schedulerprioritysmpimpl.h	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -149,26 +149,4 @@
 }
 
-static inline Thread_Control *_Scheduler_priority_SMP_Get_idle_thread(
-  Scheduler_Context *context
-)
-{
-  return _Scheduler_SMP_Get_idle_thread(
-    context,
-    _Scheduler_priority_SMP_Extract_from_ready
-  );
-}
-
-static void _Scheduler_priority_SMP_Release_idle_thread(
-  Scheduler_Context *context,
-  Thread_Control    *idle
-)
-{
-  _Scheduler_SMP_Release_idle_thread(
-    context,
-    idle,
-    _Scheduler_priority_SMP_Insert_ready_fifo
-  );
-}
-
 static inline void _Scheduler_priority_SMP_Do_update(
   Scheduler_Context *context,
Index: cpukit/score/include/rtems/score/schedulersmp.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersmp.h	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/include/rtems/score/schedulersmp.h	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -55,4 +55,8 @@
   /**
    * @brief Chain of the available idle threads.
+   *
+   * Idle threads are used for the scheduler helping protocol.  It is crucial
+   * that the idle threads preserve their relative order.  This is the case for
+   * this priority based scheduler.
    */
   Chain_Control Idle_threads;
Index: cpukit/score/include/rtems/score/schedulersmpimpl.h
===================================================================
--- cpukit/score/include/rtems/score/schedulersmpimpl.h	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/include/rtems/score/schedulersmpimpl.h	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -426,6 +426,5 @@
 
 static inline Thread_Control *_Scheduler_SMP_Get_idle_thread(
-  Scheduler_Context     *context,
-  Scheduler_SMP_Extract  extract_from_ready
+  Scheduler_Context *context
 )
 {
@@ -433,7 +432,4 @@
   Thread_Control *idle = (Thread_Control *)
     _Chain_Get_first_unprotected( &self->Idle_threads );
-  Scheduler_Node *own_node = _Scheduler_Thread_get_own_node( idle );
-
-  ( *extract_from_ready )( &self->Base, own_node );
 
   _Assert( &idle->Object.Node != _Chain_Tail( &self->Idle_threads ) );
@@ -443,14 +439,11 @@
 
 static inline void _Scheduler_SMP_Release_idle_thread(
-  Scheduler_Context    *context,
-  Thread_Control       *idle,
-  Scheduler_SMP_Insert  insert_ready
+  Scheduler_Context *context,
+  Thread_Control    *idle
 )
 {
   Scheduler_SMP_Context *self = _Scheduler_SMP_Get_self( context );
-  Scheduler_Node *own_node = _Scheduler_Thread_get_own_node( idle );
 
   _Chain_Prepend_unprotected( &self->Idle_threads, &idle->Object.Node );
-  ( *insert_ready )( context, own_node );
 }
 
@@ -537,6 +530,5 @@
   Scheduler_SMP_Insert              insert_scheduled,
   Scheduler_SMP_Move                move_from_scheduled_to_ready,
-  Scheduler_SMP_Allocate_processor  allocate_processor,
-  Scheduler_Release_idle_thread     release_idle_thread
+  Scheduler_SMP_Allocate_processor  allocate_processor
 )
 {
@@ -571,5 +563,5 @@
     context,
     lowest_scheduled,
-    release_idle_thread
+    _Scheduler_SMP_Release_idle_thread
   );
   if ( idle == NULL ) {
@@ -604,5 +596,4 @@
  * @param[in] allocate_processor Function to allocate a processor to a node
  *   based on the rules of the scheduler.
- * @param[in] release_idle_thread Function to release an idle thread.
  */
 static inline Thread_Control *_Scheduler_SMP_Enqueue_ordered(
@@ -615,6 +606,5 @@
   Scheduler_SMP_Move                  move_from_scheduled_to_ready,
   Scheduler_SMP_Get_lowest_scheduled  get_lowest_scheduled,
-  Scheduler_SMP_Allocate_processor    allocate_processor,
-  Scheduler_Release_idle_thread       release_idle_thread
+  Scheduler_SMP_Allocate_processor    allocate_processor
 )
 {
@@ -629,6 +619,5 @@
       insert_scheduled,
       move_from_scheduled_to_ready,
-      allocate_processor,
-      release_idle_thread
+      allocate_processor
     );
   } else {
@@ -657,6 +646,4 @@
  * @param[in] allocate_processor Function to allocate a processor to a node
  *   based on the rules of the scheduler.
- * @param[in] get_idle_thread Function to get an idle thread.
- * @param[in] release_idle_thread Function to release an idle thread.
  */
 static inline Thread_Control *_Scheduler_SMP_Enqueue_scheduled_ordered(
@@ -669,7 +656,5 @@
   Scheduler_SMP_Insert              insert_scheduled,
   Scheduler_SMP_Move                move_from_ready_to_scheduled,
-  Scheduler_SMP_Allocate_processor  allocate_processor,
-  Scheduler_Get_idle_thread         get_idle_thread,
-  Scheduler_Release_idle_thread     release_idle_thread
+  Scheduler_SMP_Allocate_processor  allocate_processor
 )
 {
@@ -693,5 +678,5 @@
         context,
         highest_ready,
-        get_idle_thread
+        _Scheduler_SMP_Get_idle_thread
       )
     ) {
@@ -718,5 +703,5 @@
         context,
         node,
-        release_idle_thread
+        _Scheduler_SMP_Release_idle_thread
       );
       if ( idle == NULL ) {
@@ -753,6 +738,5 @@
   Scheduler_SMP_Get_highest_ready   get_highest_ready,
   Scheduler_SMP_Move                move_from_ready_to_scheduled,
-  Scheduler_SMP_Allocate_processor  allocate_processor,
-  Scheduler_Get_idle_thread         get_idle_thread
+  Scheduler_SMP_Allocate_processor  allocate_processor
 )
 {
@@ -764,5 +748,5 @@
         context,
         highest_ready,
-        get_idle_thread
+        _Scheduler_SMP_Get_idle_thread
       )
     ) {
@@ -798,5 +782,4 @@
  * @param[in] move_from_ready_to_scheduled Function to move a node from the set
  *   of ready nodes to the set of scheduled nodes.
- * @param[in] get_idle_thread Function to get an idle thread.
  */
 static inline void _Scheduler_SMP_Block(
@@ -806,6 +789,5 @@
   Scheduler_SMP_Get_highest_ready   get_highest_ready,
   Scheduler_SMP_Move                move_from_ready_to_scheduled,
-  Scheduler_SMP_Allocate_processor  allocate_processor,
-  Scheduler_Get_idle_thread         get_idle_thread
+  Scheduler_SMP_Allocate_processor  allocate_processor
 )
 {
@@ -816,5 +798,5 @@
     &node->Base,
     is_scheduled,
-    get_idle_thread
+    _Scheduler_SMP_Get_idle_thread
   );
 
@@ -831,6 +813,5 @@
         get_highest_ready,
         move_from_ready_to_scheduled,
-        allocate_processor,
-        get_idle_thread
+        allocate_processor
       );
     } else {
@@ -843,6 +824,5 @@
   Scheduler_Context             *context,
   Thread_Control                *thread,
-  Scheduler_SMP_Enqueue          enqueue_fifo,
-  Scheduler_Release_idle_thread  release_idle_thread
+  Scheduler_SMP_Enqueue          enqueue_fifo
 )
 {
@@ -854,5 +834,5 @@
     &node->Base,
     is_scheduled,
-    release_idle_thread
+    _Scheduler_SMP_Release_idle_thread
   );
   Thread_Control *needs_help;
@@ -918,6 +898,5 @@
   Thread_Control                     *offers_help,
   Thread_Control                     *needs_help,
-  Scheduler_SMP_Enqueue               enqueue_fifo,
-  Scheduler_Release_idle_thread       release_idle_thread
+  Scheduler_SMP_Enqueue               enqueue_fifo
 )
 {
@@ -941,5 +920,5 @@
         needs_help,
         previous_accepts_help,
-        release_idle_thread
+        _Scheduler_SMP_Release_idle_thread
       );
       break;
Index: cpukit/score/src/schedulerpriorityaffinitysmp.c
===================================================================
--- cpukit/score/src/schedulerpriorityaffinitysmp.c	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/src/schedulerpriorityaffinitysmp.c	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -232,6 +232,5 @@
     _Scheduler_priority_affinity_SMP_Get_highest_ready,
     _Scheduler_priority_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_exact,
-    _Scheduler_priority_SMP_Get_idle_thread
+    _Scheduler_SMP_Allocate_processor_exact
   );
 
@@ -315,6 +314,5 @@
     _Scheduler_priority_SMP_Move_from_scheduled_to_ready,
     _Scheduler_priority_affinity_SMP_Get_lowest_scheduled,
-    _Scheduler_SMP_Allocate_processor_exact,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_exact
   );
 }
@@ -400,6 +398,5 @@
     context,
     thread,
-    _Scheduler_priority_affinity_SMP_Enqueue_fifo,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_priority_affinity_SMP_Enqueue_fifo
   );
 
@@ -434,6 +431,5 @@
     _Scheduler_priority_SMP_Move_from_scheduled_to_ready,
     _Scheduler_priority_affinity_SMP_Get_lowest_scheduled,
-    _Scheduler_SMP_Allocate_processor_exact,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_exact
   );
 }
@@ -483,7 +479,5 @@
     insert_scheduled,
     _Scheduler_priority_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_exact,
-    _Scheduler_priority_SMP_Get_idle_thread,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_exact
   );
 }
@@ -573,6 +567,5 @@
     offers_help,
     needs_help,
-    _Scheduler_priority_affinity_SMP_Enqueue_fifo,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_priority_affinity_SMP_Enqueue_fifo
   );
 
Index: cpukit/score/src/schedulerprioritysmp.c
===================================================================
--- cpukit/score/src/schedulerprioritysmp.c	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/src/schedulerprioritysmp.c	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -94,6 +94,5 @@
     _Scheduler_priority_SMP_Get_highest_ready,
     _Scheduler_priority_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_priority_SMP_Get_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -117,6 +116,5 @@
     _Scheduler_priority_SMP_Move_from_scheduled_to_ready,
     _Scheduler_SMP_Get_lowest_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -171,7 +169,5 @@
     insert_scheduled,
     _Scheduler_priority_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_priority_SMP_Get_idle_thread,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -215,6 +211,5 @@
     context,
     thread,
-    _Scheduler_priority_SMP_Enqueue_fifo,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_priority_SMP_Enqueue_fifo
   );
 }
@@ -255,6 +250,5 @@
     offers_help,
     needs_help,
-    _Scheduler_priority_SMP_Enqueue_fifo,
-    _Scheduler_priority_SMP_Release_idle_thread
+    _Scheduler_priority_SMP_Enqueue_fifo
   );
 }
Index: cpukit/score/src/schedulersimplesmp.c
===================================================================
--- cpukit/score/src/schedulersimplesmp.c	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ cpukit/score/src/schedulersimplesmp.c	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -166,26 +166,4 @@
 }
 
-static Thread_Control *_Scheduler_simple_SMP_Get_idle_thread(
-  Scheduler_Context *context
-)
-{
-  return _Scheduler_SMP_Get_idle_thread(
-    context,
-    _Scheduler_simple_SMP_Extract_from_ready
-  );
-}
-
-static void _Scheduler_simple_SMP_Release_idle_thread(
-  Scheduler_Context *context,
-  Thread_Control    *idle
-)
-{
-  _Scheduler_SMP_Release_idle_thread(
-    context,
-    idle,
-    _Scheduler_simple_SMP_Insert_ready_fifo
-  );
-}
-
 void _Scheduler_simple_SMP_Block(
   const Scheduler_Control *scheduler,
@@ -201,6 +179,5 @@
     _Scheduler_simple_SMP_Get_highest_ready,
     _Scheduler_simple_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_simple_SMP_Get_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -224,6 +201,5 @@
     _Scheduler_simple_SMP_Move_from_scheduled_to_ready,
     _Scheduler_SMP_Get_lowest_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_simple_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -278,7 +254,5 @@
     insert_scheduled,
     _Scheduler_simple_SMP_Move_from_ready_to_scheduled,
-    _Scheduler_SMP_Allocate_processor_lazy,
-    _Scheduler_simple_SMP_Get_idle_thread,
-    _Scheduler_simple_SMP_Release_idle_thread
+    _Scheduler_SMP_Allocate_processor_lazy
   );
 }
@@ -322,6 +296,5 @@
     context,
     thread,
-    _Scheduler_simple_SMP_Enqueue_fifo,
-    _Scheduler_simple_SMP_Release_idle_thread
+    _Scheduler_simple_SMP_Enqueue_fifo
   );
 }
@@ -362,6 +335,5 @@
     offers_help,
     needs_help,
-    _Scheduler_simple_SMP_Enqueue_fifo,
-    _Scheduler_simple_SMP_Release_idle_thread
+    _Scheduler_simple_SMP_Enqueue_fifo
   );
 }
Index: testsuites/smptests/smpmrsp01/init.c
===================================================================
--- testsuites/smptests/smpmrsp01/init.c	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ testsuites/smptests/smpmrsp01/init.c	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -901,6 +901,20 @@
   rtems_test_assert(rtems_get_current_processor() == 1);
 
+  /*
+   * With this operation the scheduler instance 0 has now only the main and the
+   * idle threads in the ready set.
+   */
+  sc = rtems_task_suspend(run_task_id);
+  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+  rtems_test_assert(rtems_get_current_processor() == 1);
+
+  change_prio(RTEMS_SELF, 1);
+  change_prio(RTEMS_SELF, 3);
+
   sc = rtems_semaphore_release(ctx->mrsp_ids[0]);
   rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+  rtems_test_assert(rtems_get_current_processor() == 0);
 
   assert_prio(RTEMS_SELF, 3);
Index: testsuites/smptests/smpmrsp01/smpmrsp01.scn
===================================================================
--- testsuites/smptests/smpmrsp01/smpmrsp01.scn	(revision 333f9426f6d4239e33f39da0b2217c58f6fa9046)
+++ testsuites/smptests/smpmrsp01/smpmrsp01.scn	(revision 27783f6ca8683eaf4826e777963c32a63f55da31)
@@ -22,76 +22,76 @@
 [1] MAIN -> HELP (prio   2, node HELP)
 [1] HELP -> MAIN (prio   2, node HELP)
+[0] IDLE -> MAIN (prio   3, node MAIN)
 [1] MAIN -> HELP (prio   2, node HELP)
-[0] IDLE -> MAIN (prio   3, node MAIN)
 test MrsP obtain and release
 test MrsP load
 worker[0]
-  sleep = 16
-  timeout = 3420
-  obtain[0] = 2503
-  obtain[1] = 1671
-  obtain[2] = 4446
-  obtain[3] = 2850
-  obtain[4] = 5003
-  obtain[5] = 3793
-  obtain[6] = 5575
-  obtain[7] = 4468
-  obtain[8] = 5326
-  obtain[9] = 4645
-  obtain[10] = 4565
-  obtain[11] = 5082
-  obtain[12] = 4050
-  obtain[13] = 5203
-  obtain[14] = 2945
-  obtain[15] = 5704
-  obtain[16] = 1652
-  obtain[17] = 5870
-  obtain[18] = 1472
-  obtain[19] = 4933
-  obtain[20] = 1136
-  obtain[21] = 3463
-  obtain[22] = 1257
-  obtain[23] = 3230
-  obtain[24] = 823
-  obtain[25] = 2860
-  obtain[26] = 736
-  obtain[27] = 1270
-  obtain[28] = 438
-  obtain[29] = 1273
-  obtain[30] = 378
-  obtain[31] = 422
-  cpu[0] = 116428
-  cpu[1] = 16133
-  cpu[2] = 32982
-  cpu[3] = 32557
+  sleep = 53
+  timeout = 3445
+  obtain[0] = 7240
+  obtain[1] = 5484
+  obtain[2] = 12983
+  obtain[3] = 9453
+  obtain[4] = 16142
+  obtain[5] = 12509
+  obtain[6] = 16471
+  obtain[7] = 14380
+  obtain[8] = 16566
+  obtain[9] = 16192
+  obtain[10] = 14868
+  obtain[11] = 18208
+  obtain[12] = 12505
+  obtain[13] = 19995
+  obtain[14] = 11155
+  obtain[15] = 20684
+  obtain[16] = 7288
+  obtain[17] = 22252
+  obtain[18] = 6476
+  obtain[19] = 18299
+  obtain[20] = 5711
+  obtain[21] = 17063
+  obtain[22] = 4791
+  obtain[23] = 14655
+  obtain[24] = 3452
+  obtain[25] = 10565
+  obtain[26] = 2912
+  obtain[27] = 8142
+  obtain[28] = 2090
+  obtain[29] = 5086
+  obtain[30] = 1145
+  obtain[31] = 1946
+  cpu[0] = 378475
+  cpu[1] = 64814
+  cpu[2] = 132133
+  cpu[3] = 138047
 worker[1]
   sleep = 1
-  timeout = 4
-  obtain[0] = 2
-  obtain[1] = 0
-  obtain[2] = 3
-  obtain[3] = 8
-  obtain[4] = 10
-  obtain[5] = 0
-  obtain[6] = 7
-  obtain[7] = 0
-  obtain[8] = 0
-  obtain[9] = 0
-  obtain[10] = 11
-  obtain[11] = 0
-  obtain[12] = 26
-  obtain[13] = 14
-  obtain[14] = 5
-  obtain[15] = 0
-  obtain[16] = 0
-  obtain[17] = 18
-  obtain[18] = 12
-  obtain[19] = 0
-  obtain[20] = 0
-  obtain[21] = 0
-  obtain[22] = 0
+  timeout = 6
+  obtain[0] = 19
+  obtain[1] = 8
+  obtain[2] = 15
+  obtain[3] = 24
+  obtain[4] = 20
+  obtain[5] = 19
+  obtain[6] = 14
+  obtain[7] = 40
+  obtain[8] = 45
+  obtain[9] = 20
+  obtain[10] = 0
+  obtain[11] = 48
+  obtain[12] = 13
+  obtain[13] = 57
+  obtain[14] = 30
+  obtain[15] = 48
+  obtain[16] = 36
+  obtain[17] = 36
+  obtain[18] = 19
+  obtain[19] = 20
+  obtain[20] = 42
+  obtain[21] = 44
+  obtain[22] = 23
   obtain[23] = 0
   obtain[24] = 0
-  obtain[25] = 0
+  obtain[25] = 26
   obtain[26] = 0
   obtain[27] = 0
@@ -100,72 +100,72 @@
   obtain[30] = 0
   obtain[31] = 0
-  cpu[0] = 140
-  cpu[1] = 24
-  cpu[2] = 33
-  cpu[3] = 36
+  cpu[0] = 650
+  cpu[1] = 92
+  cpu[2] = 379
+  cpu[3] = 212
 worker[2]
-  sleep = 14
-  timeout = 3513
-  obtain[0] = 2474
-  obtain[1] = 1793
-  obtain[2] = 4551
-  obtain[3] = 2833
-  obtain[4] = 5293
-  obtain[5] = 3681
-  obtain[6] = 5309
-  obtain[7] = 4565
-  obtain[8] = 5270
-  obtain[9] = 4610
-  obtain[10] = 4817
-  obtain[11] = 4760
-  obtain[12] = 3858
-  obtain[13] = 5919
-  obtain[14] = 3172
-  obtain[15] = 5286
-  obtain[16] = 1968
-  obtain[17] = 5800
-  obtain[18] = 1768
-  obtain[19] = 4629
-  obtain[20] = 1446
-  obtain[21] = 4109
-  obtain[22] = 1046
-  obtain[23] = 3119
-  obtain[24] = 1012
-  obtain[25] = 2338
-  obtain[26] = 790
-  obtain[27] = 1628
-  obtain[28] = 432
-  obtain[29] = 1281
-  obtain[30] = 270
-  obtain[31] = 418
-  cpu[0] = 15589
-  cpu[1] = 121473
-  cpu[2] = 31797
-  cpu[3] = 31645
+  sleep = 51
+  timeout = 3731
+  obtain[0] = 7182
+  obtain[1] = 5663
+  obtain[2] = 12945
+  obtain[3] = 9229
+  obtain[4] = 15592
+  obtain[5] = 12125
+  obtain[6] = 16767
+  obtain[7] = 14480
+  obtain[8] = 16620
+  obtain[9] = 16098
+  obtain[10] = 16409
+  obtain[11] = 18109
+  obtain[12] = 12995
+  obtain[13] = 19452
+  obtain[14] = 10719
+  obtain[15] = 20024
+  obtain[16] = 7769
+  obtain[17] = 21913
+  obtain[18] = 6636
+  obtain[19] = 18524
+  obtain[20] = 5952
+  obtain[21] = 16411
+  obtain[22] = 5228
+  obtain[23] = 14456
+  obtain[24] = 4292
+  obtain[25] = 11143
+  obtain[26] = 3019
+  obtain[27] = 8023
+  obtain[28] = 2006
+  obtain[29] = 4664
+  obtain[30] = 1109
+  obtain[31] = 1976
+  cpu[0] = 65356
+  cpu[1] = 381723
+  cpu[2] = 133444
+  cpu[3] = 134588
 worker[3]
   sleep = 1
-  timeout = 3
-  obtain[0] = 4
-  obtain[1] = 0
-  obtain[2] = 9
-  obtain[3] = 0
-  obtain[4] = 5
-  obtain[5] = 0
-  obtain[6] = 0
-  obtain[7] = 8
-  obtain[8] = 0
-  obtain[9] = 10
-  obtain[10] = 0
-  obtain[11] = 0
-  obtain[12] = 0
+  timeout = 11
+  obtain[0] = 11
+  obtain[1] = 6
+  obtain[2] = 33
+  obtain[3] = 20
+  obtain[4] = 10
+  obtain[5] = 10
+  obtain[6] = 28
+  obtain[7] = 18
+  obtain[8] = 27
+  obtain[9] = 40
+  obtain[10] = 33
+  obtain[11] = 36
+  obtain[12] = 26
   obtain[13] = 0
-  obtain[14] = 0
+  obtain[14] = 15
   obtain[15] = 16
   obtain[16] = 0
   obtain[17] = 18
   obtain[18] = 0
-  obtain[19] = 0
+  obtain[19] = 42
   obtain[20] = 0
-  obtain[21] = 1
+  obtain[21] = 88
   obtain[22] = 0
   obtain[23] = 24
@@ -173,130 +173,130 @@
   obtain[25] = 0
   obtain[26] = 0
-  obtain[27] = 0
+  obtain[27] = 28
+  obtain[28] = 0
+  obtain[29] = 0
+  obtain[30] = 31
+  obtain[31] = 0
+  cpu[0] = 136
+  cpu[1] = 573
+  cpu[2] = 291
+  cpu[3] = 121
+worker[4]
+  sleep = 47
+  timeout = 3278
+  obtain[0] = 7397
+  obtain[1] = 5723
+  obtain[2] = 13399
+  obtain[3] = 9018
+  obtain[4] = 16575
+  obtain[5] = 12731
+  obtain[6] = 16571
+  obtain[7] = 14376
+  obtain[8] = 16786
+  obtain[9] = 17022
+  obtain[10] = 15889
+  obtain[11] = 19338
+  obtain[12] = 13240
+  obtain[13] = 19055
+  obtain[14] = 11533
+  obtain[15] = 22667
+  obtain[16] = 7521
+  obtain[17] = 21826
+  obtain[18] = 6320
+  obtain[19] = 18522
+  obtain[20] = 6874
+  obtain[21] = 16498
+  obtain[22] = 4983
+  obtain[23] = 14210
+  obtain[24] = 4019
+  obtain[25] = 11510
+  obtain[26] = 3425
+  obtain[27] = 8809
+  obtain[28] = 2002
+  obtain[29] = 5197
+  obtain[30] = 996
+  obtain[31] = 2276
+  cpu[0] = 20729
+  cpu[1] = 19760
+  cpu[2] = 343613
+  cpu[3] = 348561
+worker[5]
+  sleep = 61
+  timeout = 3183
+  obtain[0] = 7291
+  obtain[1] = 5782
+  obtain[2] = 13633
+  obtain[3] = 9864
+  obtain[4] = 16465
+  obtain[5] = 12581
+  obtain[6] = 17135
+  obtain[7] = 14616
+  obtain[8] = 16524
+  obtain[9] = 16472
+  obtain[10] = 15194
+  obtain[11] = 18038
+  obtain[12] = 13801
+  obtain[13] = 19959
+  obtain[14] = 11693
+  obtain[15] = 20770
+  obtain[16] = 7328
+  obtain[17] = 23222
+  obtain[18] = 7186
+  obtain[19] = 19739
+  obtain[20] = 6584
+  obtain[21] = 17450
+  obtain[22] = 5241
+  obtain[23] = 14808
+  obtain[24] = 4287
+  obtain[25] = 11387
+  obtain[26] = 3367
+  obtain[27] = 8149
+  obtain[28] = 1887
+  obtain[29] = 4969
+  obtain[30] = 1123
+  obtain[31] = 1695
+  cpu[0] = 19504
+  cpu[1] = 20069
+  cpu[2] = 346015
+  cpu[3] = 350953
+worker[6]
+  sleep = 1
+  timeout = 15
+  obtain[0] = 26
+  obtain[1] = 22
+  obtain[2] = 45
+  obtain[3] = 32
+  obtain[4] = 45
+  obtain[5] = 76
+  obtain[6] = 49
+  obtain[7] = 64
+  obtain[8] = 99
+  obtain[9] = 70
+  obtain[10] = 55
+  obtain[11] = 48
+  obtain[12] = 39
+  obtain[13] = 28
+  obtain[14] = 60
+  obtain[15] = 48
+  obtain[16] = 17
+  obtain[17] = 74
+  obtain[18] = 38
+  obtain[19] = 60
+  obtain[20] = 63
+  obtain[21] = 66
+  obtain[22] = 23
+  obtain[23] = 48
+  obtain[24] = 0
+  obtain[25] = 78
+  obtain[26] = 0
+  obtain[27] = 43
   obtain[28] = 0
   obtain[29] = 0
   obtain[30] = 0
-  obtain[31] = 0
-  cpu[0] = 22
-  cpu[1] = 123
-  cpu[2] = 7
-  cpu[3] = 39
-worker[4]
-  sleep = 19
-  timeout = 3025
-  obtain[0] = 2574
-  obtain[1] = 1845
-  obtain[2] = 4423
-  obtain[3] = 2985
-  obtain[4] = 5086
-  obtain[5] = 3679
-  obtain[6] = 5286
-  obtain[7] = 4447
-  obtain[8] = 5885
-  obtain[9] = 4771
-  obtain[10] = 4857
-  obtain[11] = 5467
-  obtain[12] = 4554
-  obtain[13] = 5210
-  obtain[14] = 3547
-  obtain[15] = 6169
-  obtain[16] = 2337
-  obtain[17] = 6109
-  obtain[18] = 1797
-  obtain[19] = 5136
-  obtain[20] = 1646
-  obtain[21] = 4251
-  obtain[22] = 1041
-  obtain[23] = 3235
-  obtain[24] = 975
-  obtain[25] = 2961
-  obtain[26] = 739
-  obtain[27] = 1704
-  obtain[28] = 554
-  obtain[29] = 1344
-  obtain[30] = 182
-  obtain[31] = 559
-  cpu[0] = 5617
-  cpu[1] = 5834
-  cpu[2] = 100129
-  cpu[3] = 99149
-worker[5]
-  sleep = 18
-  timeout = 3123
-  obtain[0] = 2439
-  obtain[1] = 1878
-  obtain[2] = 4576
-  obtain[3] = 2938
-  obtain[4] = 5088
-  obtain[5] = 3723
-  obtain[6] = 5611
-  obtain[7] = 4411
-  obtain[8] = 5522
-  obtain[9] = 4893
-  obtain[10] = 4877
-  obtain[11] = 4932
-  obtain[12] = 4263
-  obtain[13] = 5608
-  obtain[14] = 2791
-  obtain[15] = 5905
-  obtain[16] = 1739
-  obtain[17] = 5322
-  obtain[18] = 1892
-  obtain[19] = 5118
-  obtain[20] = 1360
-  obtain[21] = 4764
-  obtain[22] = 1099
-  obtain[23] = 3180
-  obtain[24] = 913
-  obtain[25] = 2612
-  obtain[26] = 807
-  obtain[27] = 1588
-  obtain[28] = 493
-  obtain[29] = 1348
-  obtain[30] = 389
-  obtain[31] = 471
-  cpu[0] = 5554
-  cpu[1] = 6139
-  cpu[2] = 97852
-  cpu[3] = 95573
-worker[6]
-  sleep = 1
-  timeout = 11
-  obtain[0] = 2
-  obtain[1] = 2
-  obtain[2] = 9
-  obtain[3] = 4
-  obtain[4] = 15
-  obtain[5] = 12
-  obtain[6] = 7
-  obtain[7] = 16
-  obtain[8] = 10
-  obtain[9] = 20
-  obtain[10] = 11
-  obtain[11] = 5
-  obtain[12] = 0
-  obtain[13] = 0
-  obtain[14] = 0
-  obtain[15] = 16
-  obtain[16] = 0
-  obtain[17] = 0
-  obtain[18] = 0
-  obtain[19] = 20
-  obtain[20] = 0
-  obtain[21] = 44
-  obtain[22] = 0
-  obtain[23] = 0
-  obtain[24] = 0
-  obtain[25] = 7
-  obtain[26] = 0
-  obtain[27] = 0
-  obtain[28] = 0
-  obtain[29] = 0
-  obtain[30] = 0
-  obtain[31] = 0
-  cpu[0] = 10
-  cpu[1] = 6
-  cpu[2] = 168
-  cpu[3] = 217
+  obtain[31] = 32
+  cpu[0] = 71
+  cpu[1] = 39
+  cpu[2] = 1333
+  cpu[3] = 1254
 worker[7]
   sleep = 1
@@ -338,7 +338,7 @@
   cpu[2] = 1
   cpu[3] = 0
-migrations[0] = 110919
-migrations[1] = 110920
-migrations[2] = 109762
-migrations[3] = 112076
+migrations[0] = 437361
+migrations[1] = 437363
+migrations[2] = 441234
+migrations[3] = 433487
 *** END OF TEST SMPMRSP 1 ***
