fix %CPU max on 2..9 CPU SMP -- thanks Ga*tan LEURENT
This commit is contained in:
		
							
								
								
									
										1
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								NEWS
									
									
									
									
									
								
							@@ -3,6 +3,7 @@ procps-3.2.5 --> procps-3.2.6
 | 
			
		||||
top can do per-task display -- thanks John Blackwood     rh114012
 | 
			
		||||
more MIPS crud  -- thanks Jim Gifford and Ryan Oliver
 | 
			
		||||
begin prep for setuid
 | 
			
		||||
top: fix %CPU max on 2..9 CPU SMP -- thanks Ga*tan LEURENT
 | 
			
		||||
 | 
			
		||||
procps-3.2.4 --> procps-3.2.5
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								TODO
									
									
									
									
									
								
							@@ -1,5 +1,7 @@
 | 
			
		||||
-------------------------- general ------------------------
 | 
			
		||||
 | 
			
		||||
Consider using glibc obstacks for memory allocation.
 | 
			
		||||
 | 
			
		||||
Implement /usr/proc/bin tools like Solaris has.
 | 
			
		||||
The prstat command is interesting, like top in batch mode.
 | 
			
		||||
SCO has a pstat command.
 | 
			
		||||
@@ -56,12 +58,6 @@ units: kB and pages, seconds and jiffies) in the proc_t struct.
 | 
			
		||||
 | 
			
		||||
Share more stuff with ps.
 | 
			
		||||
 | 
			
		||||
'H' command (shows threads)
 | 
			
		||||
 | 
			
		||||
Adjust PID-like and PSR-like columns to fit the data.
 | 
			
		||||
The normal PID limit is 5 digits; it can go up to 10.
 | 
			
		||||
The normal CPU limit is 1 digit; it can go to 3 or 4.
 | 
			
		||||
 | 
			
		||||
don't truncate long usernames
 | 
			
		||||
 | 
			
		||||
have a --config option
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								top.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								top.c
									
									
									
									
									
								
							@@ -1605,20 +1605,21 @@ static void before (char *me)
 | 
			
		||||
     page_to_kb_shift++;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   Fieldstab[P_CPU].head = " %CPU";
 | 
			
		||||
   Fieldstab[P_CPU].fmts = " %#4.1f";
 | 
			
		||||
// commented out because it is redundant with the table content
 | 
			
		||||
//   Fieldstab[P_CPU].head = " %CPU";
 | 
			
		||||
//   Fieldstab[P_CPU].fmts = " %#4.1f";
 | 
			
		||||
   pcpu_max_value = 99.9;
 | 
			
		||||
   if(Rc.mode_irixps && smp_num_cpus>1){
 | 
			
		||||
      // good for 100 CPUs per process
 | 
			
		||||
      pcpu_max_value = 9999.0;
 | 
			
		||||
      Fieldstab[P_CPU].fmts = " %4.0f";
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   Fieldstab[P_CPN].head = " P";
 | 
			
		||||
   Fieldstab[P_CPN].fmts = " %1u";
 | 
			
		||||
   if(smp_num_cpus>9){
 | 
			
		||||
      Fieldstab[P_CPN].head = "  P";
 | 
			
		||||
      Fieldstab[P_CPN].fmts = " %2u";
 | 
			
		||||
      if(Rc.mode_irixps){
 | 
			
		||||
         // this will do for up to 999; hopefully a 1024-node box
 | 
			
		||||
         // will have at least 2.4% idle time
 | 
			
		||||
         pcpu_max_value = 9999.0;
 | 
			
		||||
         Fieldstab[P_CPU].fmts = " %4.0f";
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
   if(smp_num_cpus>99){
 | 
			
		||||
      Fieldstab[P_CPN].head = "   P";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user