Re: [PATCH 01/51] CPU hotplug: Provide lockless versions of callback registration functions

From: Toshi Kani
Date: Tue Feb 11 2014 - 12:41:57 EST


On Tue, 2014-02-11 at 22:48 +0530, Gautham R Shenoy wrote:
> On Tue, Feb 11, 2014 at 09:33:56AM -0700, Toshi Kani wrote:
> >
> > I agree that introducing a reader-writer semaphore allows concurrent
> > executions. Adding yet another hotplug lock is a bit unfortunate,
> > though.
> >
>
> I agree with this last part. We already have enough locks for
> cpu-hotplug. Another one sounds one too many!!
>
>
> > This may be a dumb question, but can't we simply do this way?
> >
> > get_online_cpus();
> >
> > for_each_online_cpu(cpu)
> > init_cpu(cpu);
> >
> > put_online_cpus();
> >
> -------- Someone chooses to hotplug a cpu here ------
> -------- But this subsystem might miss out on knowing
> about it since it hasn't registered its
> notifier yet!
>
> > register_cpu_notifier(&foobar_cpu_notifier);


How about this? foo_cpu_notifier returns NOP when foo_notifier_ready is
false.

register_cpu_notifier(&foobar_cpu_notifier);

get_online_cpus();

for_each_online_cpu(cpu)
init_cpu(cpu);

foo_notifier_ready = true;

put_online_cpus();

Thanks,
-Toshi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/