lkml.org 
[lkml]   [2006]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjecthelp? converting to single global prio_array in scheduler, ran into snag

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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-04-05 18:57    [W:0.060 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site