linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Tejun Heo <tj@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>,
	tglx@linutronix.de, peterz@infradead.org,
	paulmck@linux.vnet.ibm.com, rusty@rustcorp.com.au,
	mingo@kernel.org, akpm@linux-foundation.org, namhyung@kernel.org,
	vincent.guittot@linaro.org, sbw@mit.edu,
	amit.kucheria@linaro.org, rostedt@goodmis.org, rjw@sisk.pl,
	wangyun@linux.vnet.ibm.com, xiaoguangrong@linux.vnet.ibm.com,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux PM mailing list <linux-pm@vger.kernel.org>,
	Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Subject: Re: [RFC PATCH v2 01/10] CPU hotplug: Provide APIs for "light" atomic readers to prevent CPU offline
Date: Thu, 06 Dec 2012 00:02:41 +0530	[thread overview]
Message-ID: <50BF9349.6010205@linux.vnet.ibm.com> (raw)
In-Reply-To: <20121205165356.GL3885@mtj.dyndns.org>

On 12/05/2012 10:23 PM, Tejun Heo wrote:
> Hello, Oleg.
> 
> On Wed, Dec 05, 2012 at 05:46:40PM +0100, Oleg Nesterov wrote:
>> Sorry I don't understand the context and I can't find this thread
>> anywhere, so I am not sure I understand...
> 
> Weird, lkml cc is missing.  Srivatsa?
> 

Argh! I forgot to CC mailing lists :-(
Sorry about that! I'll repost the patchset (and I'll probably even
try to post the comments that you and Oleg have already given, for
the benefit of other readers).

Regards,
Srivatsa S. Bhat

>> On 12/05, Tejun Heo wrote:
>>>
>>> So, we basically need percpu_rwlock.  We already have percpu_rwsem.
>>
>> Yes, and with -mm patches it becomes reader-friendly. In particular
>> see http://marc.info/?l=linux-mm-commits&m=135240650828875
>>
>>> Oleg, it seems
>>> CPU hotplug needs big-reader rwlock, ideas on how to proceed?
>>
>> I am going to convert get_online_cpus() to use percpu_down_read(),
>> this looks simple.
>>
>> We already discussed this with Paul, see
>>
>> 	http://marc.info/?l=linux-kernel&m=135248463226031
>>
>> and the whole thread.
>>
>> In short, all we need is percpu_down_write_recursive_readers() and
>> afaics the only complication is lockdep, we need down_read_no_lockdep()
>> which (like __up_read) doesn't do rwsem_acquire_read().
> 
> So, it's a different thing.  There are two mechanism protecting
> against cpu hotplug - get_online_cpus() and preempt_disable().  The
> former can be used by ones which can sleep and need to protect against
> the whole up/down process (DOWN_PREPARE and so on).  The latter
> protects the last step and can be used when the caller can't sleep.
> Replacing get_online_cpus() w/ percpu_rwsem is great but this thread
> is about replacing preempt_disable with something finer grained and
> less heavy on the writer side - IOW, percpu_rwlock as opposed to
> percpu_rwsem, so, I think the end result would be that CPU hotplug
> will be protected by percpu_rwsem for the whole part and by
> percpu_rwlock for the last commit stage.
> 
> The problem seems that we don't have percpu_rwlock yet.  It shouldn't
> be too difficult to implement, right?
> 
> Thanks.
> 


       reply	other threads:[~2012-12-05 18:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20121205131038.17383.55472.stgit@srivatsabhat.in.ibm.com>
     [not found] ` <20121205131136.17383.23318.stgit@srivatsabhat.in.ibm.com>
     [not found]   ` <20121205142316.GI3885@mtj.dyndns.org>
     [not found]     ` <20121205164640.GA7382@redhat.com>
     [not found]       ` <20121205165356.GL3885@mtj.dyndns.org>
2012-12-05 18:32         ` Srivatsa S. Bhat [this message]
2012-12-05 18:42 [RFC PATCH v2 00/10][RESEND] CPU hotplug: stop_machine()-free CPU hotplug Srivatsa S. Bhat
2012-12-05 18:43 ` [RFC PATCH v2 01/10] CPU hotplug: Provide APIs for "light" atomic readers to prevent CPU offline Srivatsa S. Bhat
2012-12-05 18:47   ` Srivatsa S. Bhat
2012-12-05 18:51     ` Srivatsa S. Bhat
2012-12-05 18:53       ` Srivatsa S. Bhat
2012-12-05 18:56         ` Srivatsa S. Bhat
2012-12-05 18:59           ` Srivatsa S. Bhat
2012-12-05 20:14             ` Srivatsa S. Bhat
2012-12-06 16:18               ` Oleg Nesterov
2012-12-06 18:48                 ` Srivatsa S. Bhat
2012-12-06 19:17                   ` Srivatsa S. Bhat
2012-12-07 21:01                     ` Oleg Nesterov
2012-12-06 19:28                   ` Steven Rostedt
2012-12-06 19:36                     ` Srivatsa S. Bhat
2012-12-06 22:02                       ` Steven Rostedt
2012-12-07 17:33                         ` Srivatsa S. Bhat
     [not found]                     ` <20121207200014.GB13238@redhat.com>
2012-12-10 18:21                       ` Oleg Nesterov
2012-12-10 19:07                         ` Steven Rostedt
2012-12-07 19:56                   ` Oleg Nesterov
2012-12-07 20:25                     ` Srivatsa S. Bhat
2012-12-07 20:59                       ` Oleg Nesterov
2012-12-05 19:07   ` Oleg Nesterov
2012-12-05 19:16     ` Srivatsa S. Bhat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50BF9349.6010205@linux.vnet.ibm.com \
    --to=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=amit.kucheria@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=nikunj@linux.vnet.ibm.com \
    --cc=oleg@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rjw@sisk.pl \
    --cc=rostedt@goodmis.org \
    --cc=rusty@rustcorp.com.au \
    --cc=sbw@mit.edu \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=wangyun@linux.vnet.ibm.com \
    --cc=xiaoguangrong@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).