Messages in this thread Patch in this message | | | Date | Tue, 01 May 2007 00:00:44 +0530 | From | Balbir Singh <> | Subject | Re: [patch] CFS scheduler, -v7 |
| |
Ingo Molnar wrote: > i'm pleased to announce release -v7 of the CFS scheduler patchset. (The > main goal of CFS is to implement "desktop scheduling" with as high > quality as technically possible.) > > The CFS patch against v2.6.21 (or against v2.6.20.8) can be downloaded > from the usual place: > > http://redhat.com/~mingo/cfs-scheduler/ >
Hi, Ingo,
I needed the following fixes on my powerpc box to fix all warnings generated by the compiler out during compilation. Without these fixes, I was seeing negative values in /proc/sched_debug on my box. I still see a negative value for "waiting"
task PID tree-key delta waiting switches prio wstart-fair sum-exec sum-wait ------------------------------------------------------------------------------------------------------------------- R bash 5594 69839216478 6238568 -6238568 1617 120 -69832977910 66377151352 27173793
I've started on cfs late (with -v7), hopefully I'll catch up. More questions, feedback will follow.
-- Warm Regards, Balbir Singh Linux Technology Center IBM, ISTL Index: linux-2.6.21/kernel/sched_debug.c =================================================================== --- linux-2.6.21.orig/kernel/sched_debug.c 2007-04-30 23:17:10.000000000 +0530 +++ linux-2.6.21/kernel/sched_debug.c 2007-04-30 23:49:40.000000000 +0530 @@ -45,13 +45,13 @@ SEQ_printf(m, "%14s %5d %12Ld %11Ld %10Ld %9Ld %5d " "%13Ld %13Ld %13Ld\n", p->comm, p->pid, - p->fair_key, p->fair_key - rq->fair_clock, - p->wait_runtime, - p->nr_switches, + (long long)p->fair_key, (long long)p->fair_key - rq->fair_clock, + (long long)p->wait_runtime, + (long long)p->nr_switches, p->prio, - p->wait_start_fair - rq->fair_clock, - p->sum_exec_runtime, - p->sum_wait_runtime); + (long long)p->wait_start_fair - rq->fair_clock, + (long long)p->sum_exec_runtime, + (long long)p->sum_wait_runtime); } static void print_rq(struct seq_file *m, struct rq *rq, u64 now) @@ -83,7 +83,7 @@ SEQ_printf(m, "\ncpu: %d\n", cpu); #define P(x) \ - SEQ_printf(m, " .%-22s: %Ld\n", #x, (u64)(rq->x)) + SEQ_printf(m, " .%-22s: %Lu\n", #x, (unsigned long long)(rq->x)) P(nr_running); P(raw_weighted_load); @@ -110,7 +110,7 @@ int cpu; SEQ_printf(m, "Sched Debug Version: v0.02\n"); - SEQ_printf(m, "now at %Ld nsecs\n", (unsigned long long)now); + SEQ_printf(m, "now at %Lu nsecs\n", (unsigned long long)now); for_each_online_cpu(cpu) print_cpu(m, cpu, now); Index: linux-2.6.21/kernel/sched.c =================================================================== --- linux-2.6.21.orig/kernel/sched.c 2007-04-30 23:42:04.000000000 +0530 +++ linux-2.6.21/kernel/sched.c 2007-04-30 23:49:44.000000000 +0530 @@ -229,7 +229,7 @@ unsigned long long t0, t1; #define P(F) \ - buffer += sprintf(buffer, "%-25s:%20Ld\n", #F, p->F) + buffer += sprintf(buffer, "%-25s:%20Ld\n", #F, (long long)p->F) P(wait_start); P(wait_start_fair); @@ -248,22 +248,22 @@ t0 = sched_clock(); t1 = sched_clock(); - buffer += sprintf(buffer, "%-25s:%20Ld\n", "clock-delta", t1-t0); - buffer += sprintf(buffer, "%-25s:%20Ld\n", - "rq-wait_runtime", this_rq->wait_runtime); - buffer += sprintf(buffer, "%-25s:%20Ld\n", - "rq-fair_clock", this_rq->fair_clock); - buffer += sprintf(buffer, "%-25s:%20Ld\n", - "rq-clock", this_rq->clock); - buffer += sprintf(buffer, "%-25s:%20Ld\n", - "rq-prev_clock_raw", this_rq->prev_clock_raw); - buffer += sprintf(buffer, "%-25s:%20Ld\n", - "rq-clock_max_delta", this_rq->clock_max_delta); - buffer += sprintf(buffer, "%-25s:%20u\n", - "rq-clock_warps", this_rq->clock_warps); - buffer += sprintf(buffer, "%-25s:%20u\n", - "rq-clock_unstable_events", - this_rq->clock_unstable_events); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "clock-delta", + (long long)t1-t0); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "rq-wait_runtime", + (long long)this_rq->wait_runtime); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "rq-fair_clock", + (long long)this_rq->fair_clock); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "rq-clock", + (long long)this_rq->clock); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "rq-prev_clock_raw", + (long long)this_rq->prev_clock_raw); + buffer += sprintf(buffer, "%-25s:%20Ld\n", "rq-clock_max_delta", + (long long)this_rq->clock_max_delta); + buffer += sprintf(buffer, "%-25s:%20u\n", "rq-clock_warps", + this_rq->clock_warps); + buffer += sprintf(buffer, "%-25s:%20u\n", "rq-clock_unstable_events", + this_rq->clock_unstable_events); return buffer; } | |