We're having some issues with the load balancer algorithm in CKRM, so
due to time pressure I'm looking at converting the scheduler to use a
single global prio_array rather than the per-cpu ones that it currently
uses. I realize we're going to take a hit, but we don't have too many
cpus so I'm hoping it won't be too bad.
So far I've removed arrays/expired/active from the runqueue and made
them global, added a new spinlock to protect the global list (always
taken after the runqueue lock), and converted all the callers to use the
appropriate variable. All changes were in sched.h and sched.c.
This builds for both UP and SMP, boots for UP, and boots for SMP if I
set the "nosmp" boot arg.
Unfortunately I seem to have missed something. On my Mac G5 if I allow
it to use both cpus it gets to "smp_core99_setup_cpu 0 done", then hangs.
Anyone have any suggestions as to what I should look at? Maybe the idle
task initialization?
Thanks,
Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]