Messages in this thread | | | Date | Thu, 10 Oct 2013 10:48:56 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 0/6] Optimize the cpu hotplug locking -v2 |
| |
On Thu, 10 Oct 2013 13:13:05 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
> > > > > > Why prevent all CPUs from running when we want to remove > > > > one? > > > > > > So get_online_cpus() goes away. Nothing is more scalable than nothing! > > > > Very much agreed; now stop_machine() wouldn't actually work for hotplug > > because it will instantly preempt everybody, including someone who might > > be in the middle of using per-cpu state of the cpu we're about to > > remove. > > Well, stop machine doesn't instantly preempt everybody. Only those that > don't have preemption disabled. Using per_cpu without preemption > disabled can be dangerous.
Yes, I'd have thought that the cases where a CPU is fiddling with another CPU's percpu data with preemption enabled would be rather rare.
I can't actually think of any off the top. Are there examples we can look at?
| |