out_balanced:

spin unlock(&this rq->lock);

if (sd->balance interval < sd->max interval)
sd->balance_interval *= 2;

return 0;

}

   

      ,   -
   .      
context_switch (),    kernel/sched. .   -
  schedule (),      .
    .

   switch_mm (),     include/asm/
mmu_context. h       
      .

   switch_to () ,    include/asm/
system, h,       
    .    -
      .

     ,    schedule ().
      ,    
 ,       .
    need_resched  ,  ,
    schedule () (. 4.2).   -
  scheduler_tick (),      ,
  try_to_wake_up (),      , 
  ,   .    
,    ,    schedule ()  
  .       ,  
     ,    
  .

 4.2.     need_resched
                        

set_tsk_need_resched (task)       need_resched   
clear_tsk_need_resched (task)     need resched   

need_resched ()                      need_resched  
.   true,   
,  false,   

                                                 87