lkml.org 
[lkml]   [2007]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [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;
}
\
 
 \ /
  Last update: 2007-04-30 20:33    [W:0.309 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site