On 26 February 2013 14:16, Frederic Weisbecker <fweis...@gmail.com> wrote: > 2013/2/22 Vincent Guittot <vincent.guit...@linaro.org>: >> I wanted to avoid having to use the sd pointer for testing NOHZ_IDLE >> flag because it occurs each time we go into idle but it seems to be >> not easily feasible. >> Another solution could be to add a synchronization step between >> rcu_assign_pointer(dom 1, NULL) and create new domain to ensure that >> all pending access to old sd values, has finished but this will imply >> a potential delay in the rebuild of sched_domain and i'm not sure >> that it's acceptable > > The other issue is that we'll need to abuse the fact that struct > sched_domain is per cpu in order to store a per cpu state there. > That's a bit ugly but at least safer. > > Also, are struct sched_group and struct sched_group_power shared among > several CPUs or are they per CPUs allocated as well? I guess they > aren't otherwise nr_cpus_busy would be pointless.
Yes they are shared between CPUs, per cpu sched_domain points to same sched_group and sched_group_power. _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev