Re: specjbb2005 and aim7 regression with 2.6.32-rc kernels

Gautham R Shenoy
2009-11-09T09:44:32Z

On Mon, Nov 09, 2009 at 10:15:04AM +0100, Peter Zijlstra wrote:
> On Mon, 2009-11-09 at 08:09 +0100, Mike Galbraith wrote:
> > + smp_read_barrier_depends();
> > cpumask_setall(cpus);
> > + cpumask_and(cpus, cpus, cpu_online_mask);
>
>
> how about: cpumask_copy(cpus, cpu_online_mask); ?
>
> Also, iirc cpu_online_mask is guaranteed stable when preemption is
> disabled, otherwise you need to use get/put_online_cpus(), an
> rmb_depends() won't do.

preempt_disable() guarantees that any cpus won't go offline, since we
use stop_machine() to take CPUs offline. I don't think it provides cover
against new cpus coming online.

--
Thanks and Regards
gautham