powertop: code shrink
function old new delta process_timer_stats 490 449 -41 Signed-off-by: Maksym Kryzhanovskyy <xmaks@email.cz> Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
		
				
					committed by
					
						
						Denys Vlasenko
					
				
			
			
				
	
			
			
			
						parent
						
							9135fd26c4
						
					
				
				
					commit
					0ebafcc5b1
				
			@@ -399,6 +399,7 @@ static NOINLINE int process_timer_stats(void)
 | 
			
		||||
	buf[0] = '\0';
 | 
			
		||||
	totalticks = 0;
 | 
			
		||||
 | 
			
		||||
	n = 0;
 | 
			
		||||
	fp = NULL;
 | 
			
		||||
	if (!G.cant_enable_timer_stats)
 | 
			
		||||
		fp = fopen_for_read("/proc/timer_stats");
 | 
			
		||||
@@ -418,14 +419,24 @@ static NOINLINE int process_timer_stats(void)
 | 
			
		||||
			const char *count, *process, *func;
 | 
			
		||||
			char *p;
 | 
			
		||||
			int idx;
 | 
			
		||||
			unsigned cnt;
 | 
			
		||||
 | 
			
		||||
			count = skip_whitespace(buf);
 | 
			
		||||
			p = strchr(count, ',');
 | 
			
		||||
			if (!p)
 | 
			
		||||
				continue;
 | 
			
		||||
			*p++ = '\0';
 | 
			
		||||
			if (strcmp(skip_non_whitespace(count), " total events") == 0)
 | 
			
		||||
			cnt = bb_strtou(count, NULL, 10);
 | 
			
		||||
			if (strcmp(skip_non_whitespace(count), " total events") == 0) {
 | 
			
		||||
#if ENABLE_FEATURE_POWERTOP_PROCIRQ
 | 
			
		||||
				n = cnt / G.total_cpus;
 | 
			
		||||
				if (n > 0 && n < G.interrupt_0) {
 | 
			
		||||
					sprintf(line, "    <interrupt> : %s", "extra timer interrupt");
 | 
			
		||||
					save_line(line, G.interrupt_0 - n);
 | 
			
		||||
				}
 | 
			
		||||
#endif
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			if (strchr(count, 'D'))
 | 
			
		||||
				continue; /* deferred */
 | 
			
		||||
			p = skip_whitespace(p); /* points to pid now */
 | 
			
		||||
@@ -471,21 +482,11 @@ static NOINLINE int process_timer_stats(void)
 | 
			
		||||
				sprintf(line, "%15.15s : %s", process, func);
 | 
			
		||||
			//else
 | 
			
		||||
			//	sprintf(line, "%s", process);
 | 
			
		||||
			save_line(line, bb_strtoull(count, NULL, 10));
 | 
			
		||||
			save_line(line, cnt);
 | 
			
		||||
		}
 | 
			
		||||
		fclose(fp);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	n = 0;
 | 
			
		||||
#if ENABLE_FEATURE_POWERTOP_PROCIRQ
 | 
			
		||||
	if (strstr(buf, " total events")) {
 | 
			
		||||
		n = bb_strtoull(buf, NULL, 10) / G.total_cpus;
 | 
			
		||||
		if (n > 0 && n < G.interrupt_0) {
 | 
			
		||||
			sprintf(line, "    <interrupt> : %s", "extra timer interrupt");
 | 
			
		||||
			save_line(line, G.interrupt_0 - n);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
	return n;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user