Messages in this thread | | | Date | Thu, 19 Mar 2009 08:49:49 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH v3 -tip] sched: Clean unused fields from struct rq |
| |
* Luis Henriques <henrix@sapo.pt> 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 <henrix@sapo.pt> > > --- > > 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
Mind updating the app too and post it here please? It's the only app that relies on this file AFAIK.
Ingo
| |