mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	[PATCH] Decrease number of pointer derefs in exit.c
Decrease the number of pointer derefs in kernel/exit.c Benefits of the patch: - Fewer pointer dereferences should make the code slightly faster. - Size of generated code is smaller - improved readability Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
							parent
							
								
									a547dfe956
								
							
						
					
					
						commit
						3795e1616f
					
				
					 1 changed files with 21 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -1071,6 +1071,9 @@ static int wait_task_zombie(task_t *p, int noreap,
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	if (likely(p->real_parent == p->parent) && likely(p->signal)) {
 | 
			
		||||
		struct signal_struct *psig;
 | 
			
		||||
		struct signal_struct *sig;
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
		 * The resource counters for the group leader are in its
 | 
			
		||||
		 * own task_struct.  Those for dead threads in the group
 | 
			
		||||
| 
						 | 
				
			
			@ -1087,24 +1090,26 @@ static int wait_task_zombie(task_t *p, int noreap,
 | 
			
		|||
		 * here reaping other children at the same time.
 | 
			
		||||
		 */
 | 
			
		||||
		spin_lock_irq(&p->parent->sighand->siglock);
 | 
			
		||||
		p->parent->signal->cutime =
 | 
			
		||||
			cputime_add(p->parent->signal->cutime,
 | 
			
		||||
		psig = p->parent->signal;
 | 
			
		||||
		sig = p->signal;
 | 
			
		||||
		psig->cutime =
 | 
			
		||||
			cputime_add(psig->cutime,
 | 
			
		||||
			cputime_add(p->utime,
 | 
			
		||||
			cputime_add(p->signal->utime,
 | 
			
		||||
				    p->signal->cutime)));
 | 
			
		||||
		p->parent->signal->cstime =
 | 
			
		||||
			cputime_add(p->parent->signal->cstime,
 | 
			
		||||
			cputime_add(sig->utime,
 | 
			
		||||
				    sig->cutime)));
 | 
			
		||||
		psig->cstime =
 | 
			
		||||
			cputime_add(psig->cstime,
 | 
			
		||||
			cputime_add(p->stime,
 | 
			
		||||
			cputime_add(p->signal->stime,
 | 
			
		||||
				    p->signal->cstime)));
 | 
			
		||||
		p->parent->signal->cmin_flt +=
 | 
			
		||||
			p->min_flt + p->signal->min_flt + p->signal->cmin_flt;
 | 
			
		||||
		p->parent->signal->cmaj_flt +=
 | 
			
		||||
			p->maj_flt + p->signal->maj_flt + p->signal->cmaj_flt;
 | 
			
		||||
		p->parent->signal->cnvcsw +=
 | 
			
		||||
			p->nvcsw + p->signal->nvcsw + p->signal->cnvcsw;
 | 
			
		||||
		p->parent->signal->cnivcsw +=
 | 
			
		||||
			p->nivcsw + p->signal->nivcsw + p->signal->cnivcsw;
 | 
			
		||||
			cputime_add(sig->stime,
 | 
			
		||||
				    sig->cstime)));
 | 
			
		||||
		psig->cmin_flt +=
 | 
			
		||||
			p->min_flt + sig->min_flt + sig->cmin_flt;
 | 
			
		||||
		psig->cmaj_flt +=
 | 
			
		||||
			p->maj_flt + sig->maj_flt + sig->cmaj_flt;
 | 
			
		||||
		psig->cnvcsw +=
 | 
			
		||||
			p->nvcsw + sig->nvcsw + sig->cnvcsw;
 | 
			
		||||
		psig->cnivcsw +=
 | 
			
		||||
			p->nivcsw + sig->nivcsw + sig->cnivcsw;
 | 
			
		||||
		spin_unlock_irq(&p->parent->sighand->siglock);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue