2002-06-23 20:13:15

by Anton Blanchard

[permalink] [raw]
Subject: [PATCH] Allow non zero boot cpu


Hi,

A partitioned ppc64 machine can have a boot cpuid anywhere from 0 to 31.
With the non linear cpu changes in 2.5.24 we must set up the initial task
to start on the boot cpu. (since it isnt always 0 now)

With this patch I am able to boot on cpus other than 0. I also tested
discontiguous cpuids:

# cat /proc/cpuinfo
processor : 2
cpu : RS64-IV (sstar)
clock : 601MHz
revision : 0.0

processor : 4
cpu : RS64-IV (sstar)
clock : 601MHz
revision : 0.0

processor : 6
cpu : RS64-IV (sstar)
clock : 601MHz
revision : 0.0

timebase : 601583219
machine : CHRP IBM,7025-F80

So the non linear cpu stuff checks out OK. Nice work Rusty!

Anton

===== kernel/sched.c 1.101 vs edited =====
--- 1.101/kernel/sched.c Thu Jun 20 23:25:50 2002
+++ edited/kernel/sched.c Mon Jun 24 05:14:11 2002
@@ -1687,6 +1688,7 @@
rq = this_rq();
rq->curr = current;
rq->idle = current;
+ set_task_cpu(current, smp_processor_id());
wake_up_process(current);

init_timervecs();