help? converting to single global prio_array in scheduler, ran into snag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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]
  Powered by Linux