On Monday 28 October 2002 17:57, Martin J. Bligh wrote: > > I'm preparing a core patch which doesn't need the pool_lock. I'll send it > > out today. > > Cool! Thanks, OK, here it comes. The core doesn't use the loop_over_nodes() macro any more. There's one big loop over the CPUs for computing node loads and the most loaded CPUs in find_busiest_queue. The call to build_cpus() isn't critical any more. Functionality is the same as in the previous patch (i.e. steal delays, ranking of task_to_steal, etc...). I kept the loop_over_node() macro for compatibility reasons with the additional patches. You might need to replace in the additional patches: numpools -> numpools() pool_nr_cpus[] -> pool_ncpus() I'm puzzled about the initial load balancing impact and have to think about the results I've seen from you so far... In the environments I am used to, the frequency of exec syscalls is rather low, therefore I didn't care too much about the sched_balance_exec performance and prefered to try harder to achieve good distribution across the nodes. Regards, Erich