aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen, Kenneth W <kenneth.w.chen@intel.com>2006-12-10 05:20:35 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-10 12:55:43 -0500
commit06066714f6016cffcb249f6ab21b7919de1bc859 (patch)
treeef6848c94a8cf0af47bdf8534aa49b507dfc5952
parent783609c6cb4eaa23f2ac5c968a44483584ec133f (diff)
[PATCH] sched: remove lb_stopbalance counter
Remove scheduler stats lb_stopbalance counter. This counter can be calculated by: lb_balanced - lb_nobusyg - lb_nobusyq. There is no need to create gazillion counters while we can derive the value. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/sched.h1
-rw-r--r--kernel/sched.c11
2 files changed, 4 insertions, 8 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 72d6927d29ed..ea92e5c89089 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -707,7 +707,6 @@ struct sched_domain {
707 unsigned long lb_hot_gained[MAX_IDLE_TYPES]; 707 unsigned long lb_hot_gained[MAX_IDLE_TYPES];
708 unsigned long lb_nobusyg[MAX_IDLE_TYPES]; 708 unsigned long lb_nobusyg[MAX_IDLE_TYPES];
709 unsigned long lb_nobusyq[MAX_IDLE_TYPES]; 709 unsigned long lb_nobusyq[MAX_IDLE_TYPES];
710 unsigned long lb_stopbalance[MAX_IDLE_TYPES];
711 710
712 /* Active load balancing */ 711 /* Active load balancing */
713 unsigned long alb_cnt; 712 unsigned long alb_cnt;
diff --git a/kernel/sched.c b/kernel/sched.c
index 4e453431c61a..66e44b5b53d2 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -428,7 +428,7 @@ static inline void task_rq_unlock(struct rq *rq, unsigned long *flags)
428 * bump this up when changing the output format or the meaning of an existing 428 * bump this up when changing the output format or the meaning of an existing
429 * format, so that tools can adapt (or abort) 429 * format, so that tools can adapt (or abort)
430 */ 430 */
431#define SCHEDSTAT_VERSION 13 431#define SCHEDSTAT_VERSION 14
432 432
433static int show_schedstat(struct seq_file *seq, void *v) 433static int show_schedstat(struct seq_file *seq, void *v)
434{ 434{
@@ -466,7 +466,7 @@ static int show_schedstat(struct seq_file *seq, void *v)
466 seq_printf(seq, "domain%d %s", dcnt++, mask_str); 466 seq_printf(seq, "domain%d %s", dcnt++, mask_str);
467 for (itype = SCHED_IDLE; itype < MAX_IDLE_TYPES; 467 for (itype = SCHED_IDLE; itype < MAX_IDLE_TYPES;
468 itype++) { 468 itype++) {
469 seq_printf(seq, " %lu %lu %lu %lu %lu %lu %lu %lu %lu", 469 seq_printf(seq, " %lu %lu %lu %lu %lu %lu %lu %lu",
470 sd->lb_cnt[itype], 470 sd->lb_cnt[itype],
471 sd->lb_balanced[itype], 471 sd->lb_balanced[itype],
472 sd->lb_failed[itype], 472 sd->lb_failed[itype],
@@ -474,8 +474,7 @@ static int show_schedstat(struct seq_file *seq, void *v)
474 sd->lb_gained[itype], 474 sd->lb_gained[itype],
475 sd->lb_hot_gained[itype], 475 sd->lb_hot_gained[itype],
476 sd->lb_nobusyq[itype], 476 sd->lb_nobusyq[itype],
477 sd->lb_nobusyg[itype], 477 sd->lb_nobusyg[itype]);
478 sd->lb_stopbalance[itype]);
479 } 478 }
480 seq_printf(seq, " %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n", 479 seq_printf(seq, " %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
481 sd->alb_cnt, sd->alb_failed, sd->alb_pushed, 480 sd->alb_cnt, sd->alb_failed, sd->alb_pushed,
@@ -2596,10 +2595,8 @@ redo:
2596 group = find_busiest_group(sd, this_cpu, &imbalance, idle, &sd_idle, 2595 group = find_busiest_group(sd, this_cpu, &imbalance, idle, &sd_idle,
2597 &cpus, balance); 2596 &cpus, balance);
2598 2597
2599 if (*balance == 0) { 2598 if (*balance == 0)
2600 schedstat_inc(sd, lb_stopbalance[idle]);
2601 goto out_balanced; 2599 goto out_balanced;
2602 }
2603 2600
2604 if (!group) { 2601 if (!group) {
2605 schedstat_inc(sd, lb_nobusyg[idle]); 2602 schedstat_inc(sd, lb_nobusyg[idle]);