Re: [RFC PATCH] Dynamic sched domains (v0.5)

Nick Piggin
2005-05-02T09:44:17Z

Dinakar Guniguntala wrote:

> +void rebuild_sched_domains(cpumask_t span1, cpumask_t span2)
> +{
> + cpumask_t change_map;
> +
> + cpus_or(change_map, span1, span2);
> +
> + preempt_disable();

Oh, you can't do this here, attach_domains does a synchronize_kernel.
So take it out, it doesn't do anything anyway, does it?

I suggest you also use some sort of locking to prevent concurrent rebuilds
and rebuilds racing with cpu hotplug. You could probably have a static
semaphore around rebuild_sched_domains, and take lock_cpu_hotplug here too.

Or alternatively take the semaphore in the cpu hotplug notifier as well...
Maybe both - neither are performance critical code.

--
SUSE Labs, Novell Inc.