Messages in this thread | | | Date | Thu, 9 Feb 2017 08:00:57 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: mm: deadlock between get_online_cpus/pcpu_alloc |
| |
On Thu, 9 Feb 2017, Thomas Gleixner wrote:
> And how does that solve the problem at hand? Not at all: > > CPU 0 CPU 1 > > for_each_online_cpu(cpu) > ==> cpu = 1 > stop_machine() > set_cpu_online(1, false) > queue_work(cpu1) > > Thanks,
Well thats not how I remember stop_machine does work. Doesnt it stop the processing on all cpus otherwise its not a real usable stop.
The stop_machine would need to ensure that all cpus cease processing before proceeding.
| |