Re: [git pull] scheduler changes for v2.6.26

From: Peter Zijlstra
Date: Wed Apr 23 2008 - 07:22:19 EST


On Wed, 2008-04-23 at 12:30 +0200, Mike Galbraith wrote:
> On Wed, 2008-04-23 at 10:11 +0200, Mike Galbraith wrote:
>
> > I dug my old p3/500 out and hooked it up since I still can't get minicom
> > functional plugging P4->Q6600, but no joy. Whatever the heck is going
> > wrong in sched-devel is so catastrophic that not one character hits the
> > console when it locks, and nmi_watchdog=1 does nada.
>
> I built x86/latest to see if it locked, and while testing to see if
> minicom was really really working properly on p3/500, I created an
> explosion. I see in the log that clockevents griped during boot, and
> when I later poked SysRq-W, box blew to pieces.

> [ 604.923629] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
> [ 604.923629] IP: [<ffffffff802a93ac>] seq_printf+0x2e/0xa7

Sorry about that :-/

this should fix it:

---
Subject: sched: fix oops

sched_debug uses SEQ_printf to use printk when the seqfile 'm' is NULL.
Instead of doing that here too; choose to not output the weight tree
to cut back on output.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
---
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 89fa32b..353a481 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1643,8 +1643,10 @@ static void print_cfs_stats(struct seq_file *m, int cpu)
for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq)
print_cfs_rq(m, cpu, cfs_rq);

- seq_printf(m, "\nWeight tree:\n");
- print_cfs_rq_tasks(m, &cpu_rq(cpu)->cfs, 1);
+ if (m) {
+ seq_printf(m, "\nWeight tree:\n");
+ print_cfs_rq_tasks(m, &cpu_rq(cpu)->cfs, 1);
+ }
rcu_read_unlock();
}
#endif


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/