From: Nick P. <nic...@ya...> - 2005-05-02 09:44:14
|
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. |