sched/rt: Do not try to push tasks if pinned task switches to RT
Just switched pinned task is not able to be pushed. If the rq had had several RT tasks before they have already been considered as candidates to be pushed (or pulled). Signed-off-by: Kirill V Tkhai <tkhai@yandex.ru> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20140312061833.3a43aa64@gandalf.local.home Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
		
					parent
					
						
							
								27e4f9d001
							
						
					
				
			
			
				commit
				
					
						1044791755
					
				
			
		
					 1 changed files with 2 additions and 2 deletions
				
			
		|  | @ -1892,9 +1892,9 @@ static void switched_to_rt(struct rq *rq, struct task_struct *p) | |||
| 	 */ | ||||
| 	if (p->on_rq && rq->curr != p) { | ||||
| #ifdef CONFIG_SMP | ||||
| 		if (rq->rt.overloaded && push_rt_task(rq) && | ||||
| 		if (p->nr_cpus_allowed > 1 && rq->rt.overloaded && | ||||
| 		    /* Don't resched if we changed runqueues */ | ||||
| 		    rq != task_rq(p)) | ||||
| 		    push_rt_task(rq) && rq != task_rq(p)) | ||||
| 			check_resched = 0; | ||||
| #endif /* CONFIG_SMP */ | ||||
| 		if (check_resched && p->prio < rq->curr->prio) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Kirill V Tkhai
				Kirill V Tkhai