Messages in this thread |  | | Subject | Re: [PATCH 01/51] CPU hotplug: Provide lockless versions of callback registration functions | From | Toshi Kani <> | Date | Tue, 11 Feb 2014 10:35:15 -0700 |
| |
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
|  |