[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51CB307E.9050508@linux.vnet.ibm.com>
Date: Wed, 26 Jun 2013 23:48:38 +0530
From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To: David Laight <David.Laight@...lab.com>
CC: paulmck@...ux.vnet.ibm.com, peterz@...radead.org,
fweisbec@...il.com, linux-kernel@...r.kernel.org,
walken@...gle.com, mingo@...nel.org, linux-arch@...r.kernel.org,
vincent.guittot@...aro.org, xiaoguangrong@...ux.vnet.ibm.com,
wangyun@...ux.vnet.ibm.com, nikunj@...ux.vnet.ibm.com,
linux-pm@...r.kernel.org, rusty@...tcorp.com.au,
rostedt@...dmis.org, namhyung@...nel.org, tglx@...utronix.de,
laijs@...fujitsu.com, zhong@...ux.vnet.ibm.com,
netdev@...r.kernel.org, oleg@...hat.com, sbw@....edu,
tj@...nel.org, akpm@...ux-foundation.org,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v2 15/45] rcu: Use get/put_online_cpus_atomic() to prevent
CPU offline
On 06/26/2013 07:59 PM, David Laight wrote:
>> Once stop_machine() is gone from the CPU offline path, we won't be able
>> to depend on disabling preemption to prevent CPUs from going offline
>> from under us.
>
> Could you use an rcu-like sequence so that disabling pre-emption
> would be enough?
>
> Something like rebuilding the cpu list, then forcing yourself
> to run on all the cpu.
>
Certainly, and we had debated schemes similar to that (including
schemes invoking synchronize_sched() itself) in earlier discussions.
(But IIRC even those schemes required converting call-sites from
preempt_disable() to get/put_online_cpus_atomic(), to properly
synchronize).
> That would be far less intrusive.
>
But that would increase the latency of hotplug operations like Paul
pointed out, and that in turn is not good for use-cases such as
suspend/resume, where we take all non-boot CPUs offline in a loop.
(That would mean executing the above logic num_online_cpus() times!).
So we started hunting for ideas that can make the hotplug writer
side not only less intrusive, but also remain fast. That's how
the later designs evolved.
Regards,
Srivatsa S. Bhat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists