From 0ebafcc5b14b8c22a4a10f13328b996f8d85c2a5 Mon Sep 17 00:00:00 2001 From: Maksym Kryzhanovskyy Date: Sat, 6 Nov 2010 01:56:19 +0100 Subject: [PATCH] powertop: code shrink function old new delta process_timer_stats 490 449 -41 Signed-off-by: Maksym Kryzhanovskyy Signed-off-by: Denys Vlasenko --- procps/powertop.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/procps/powertop.c b/procps/powertop.c index da7f05258..2f977a03b 100644 --- a/procps/powertop.c +++ b/procps/powertop.c @@ -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, " : %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, " : %s", "extra timer interrupt"); - save_line(line, G.interrupt_0 - n); - } - } -#endif return n; } -- 2.25.1