Luis Henriques wrote: > On Wed, Mar 18, 2009 at 10:51:37PM +0000, Luis Henriques wrote: > >> Since they are used on in statistics and are always set to zero, the following >> fields from struct rq have been removed: yld_exp_empty, yld_act_empty and >> yld_both_empty. >> >> Both Sched Debug and SCHEDSTAT_VERSION versions has also been incremented since >> ABIs have been changed. >> >> Signed-off-by: Luis Henriques >> Acked-by: Gregory Haskins >> --- >> kernel/sched.c | 3 --- >> kernel/sched_debug.c | 5 +---- >> kernel/sched_stats.h | 7 +++---- >> 3 files changed, 4 insertions(+), 11 deletions(-) >> >> diff --git a/kernel/sched.c b/kernel/sched.c >> index 8a579e2..4469034 100644 >> --- a/kernel/sched.c >> +++ b/kernel/sched.c >> @@ -646,9 +646,6 @@ struct rq { >> /* could above be rq->cfs_rq.exec_clock + rq->rt_rq.rt_runtime ? */ >> >> /* sys_sched_yield() stats */ >> - unsigned int yld_exp_empty; >> - unsigned int yld_act_empty; >> - unsigned int yld_both_empty; >> unsigned int yld_count; >> >> /* schedule() stats */ >> diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c >> index 4daebff..467ca72 100644 >> --- a/kernel/sched_debug.c >> +++ b/kernel/sched_debug.c >> @@ -286,9 +286,6 @@ static void print_cpu(struct seq_file *m, int cpu) >> #ifdef CONFIG_SCHEDSTATS >> #define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, rq->n); >> >> - P(yld_exp_empty); >> - P(yld_act_empty); >> - P(yld_both_empty); >> P(yld_count); >> >> P(sched_switch); >> @@ -313,7 +310,7 @@ static int sched_debug_show(struct seq_file *m, void *v) >> u64 now = ktime_to_ns(ktime_get()); >> int cpu; >> >> - SEQ_printf(m, "Sched Debug Version: v0.08, %s %.*s\n", >> + SEQ_printf(m, "Sched Debug Version: v0.09, %s %.*s\n", >> init_utsname()->release, >> (int)strcspn(init_utsname()->version, " "), >> init_utsname()->version); >> diff --git a/kernel/sched_stats.h b/kernel/sched_stats.h >> index a8f93dd..32d2bd4 100644 >> --- a/kernel/sched_stats.h >> +++ b/kernel/sched_stats.h >> @@ -4,7 +4,7 @@ >> * bump this up when changing the output format or the meaning of an existing >> * format, so that tools can adapt (or abort) >> */ >> -#define SCHEDSTAT_VERSION 14 >> +#define SCHEDSTAT_VERSION 15 >> >> static int show_schedstat(struct seq_file *seq, void *v) >> { >> @@ -26,9 +26,8 @@ static int show_schedstat(struct seq_file *seq, void *v) >> >> /* runqueue-specific stats */ >> seq_printf(seq, >> - "cpu%d %u %u %u %u %u %u %u %u %u %llu %llu %lu", >> - cpu, rq->yld_both_empty, >> - rq->yld_act_empty, rq->yld_exp_empty, rq->yld_count, >> + "cpu%d %u %u %u %u %u %u %llu %llu %lu", >> + cpu, rq->yld_count, >> rq->sched_switch, rq->sched_count, rq->sched_goidle, >> rq->ttwu_count, rq->ttwu_local, >> rq->rq_cpu_time, >> -- >> 1.6.2 >> > > Btw: I tried Greg schedtop with this patch and the app behaviour is as expected: > > $ ./schedtop > Exception: unsupported version > > Regards, >