sched: Optimize branch hint in context_switch()
Branch hint profiling on my nehalem machine showed over 90% incorrect branch hints: 10420275 170645395 94 context_switch sched.c 3043 10408421 171098521 94 context_switch sched.c 3050 Signed-off-by: Tim Blechmann <tim@klingt.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <4B0BBB9F.6080304@klingt.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
					parent
					
						
							
								36ace27e3e
							
						
					
				
			
			
				commit
				
					
						710390d90f
					
				
			
		
					 1 changed files with 2 additions and 2 deletions
				
			
		|  | @ -2829,14 +2829,14 @@ context_switch(struct rq *rq, struct task_struct *prev, | |||
| 	 */ | ||||
| 	arch_start_context_switch(prev); | ||||
| 
 | ||||
| 	if (unlikely(!mm)) { | ||||
| 	if (likely(!mm)) { | ||||
| 		next->active_mm = oldmm; | ||||
| 		atomic_inc(&oldmm->mm_count); | ||||
| 		enter_lazy_tlb(oldmm, next); | ||||
| 	} else | ||||
| 		switch_mm(oldmm, mm, next); | ||||
| 
 | ||||
| 	if (unlikely(!prev->mm)) { | ||||
| 	if (likely(!prev->mm)) { | ||||
| 		prev->active_mm = NULL; | ||||
| 		rq->prev_mm = oldmm; | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tim Blechmann
				Tim Blechmann