linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Hillf Danton <hdanton@sina.com>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Hillf Danton <hdanton@sina.com>,
	linux-kernel@vger.kernel.org, rcu@vger.kernel.org,
	akpm@linux-foundation.org, linux-mm <linux-mm@kvack.org>
Subject: Re: [PATCH RFC tip/core/rcu] Add shrinker to shift to fast/inefficient GP mode
Date: Fri,  8 May 2020 21:37:43 +0800	[thread overview]
Message-ID: <20200508133743.9356-1-hdanton@sina.com> (raw)
In-Reply-To: <20200507154910.GO2869@paulmck-ThinkPad-P72>


On Thu, 7 May 2020 08:49:10 Paul E. McKenney wrote:
>  
> > +static void rcu_mph_info(void *data)
>
> This pointer will always be &rcu_state, so why not ignore the pointer
> and use "rcu_state" below?
>
Yes you're right.

> RCU grace periods are inherently global, so I don't know of any way
> for RCU to focus on a given NUMA node.  All or nothing.

Or is it feasible to expose certain RCU thing to VM, say, with which kswapd
can kick grace period every time the kthreads think it's needed? That way
the work to gauge memory pressure can be off RCU's shoulders.

> But on the
> other hand, speeding up RCU grace periods will also help specific
> NUMA nodes, so I believe that it is all good.
> 
> > +{
> > +	struct rcu_state *state = data;
> > +
> > +	WRITE_ONCE(state->mph_end, jiffies + HZ / 10);
> > +	smp_store_release(&state->mph, true);
> > +	rcu_force_quiescent_state();
> > +}
> > +
> > +static struct mph_subscriber rcu_mph_subscriber = {
> > +	.info = rcu_mph_info,
> > +	.data = &rcu_state,
> 
> Then this ".data" entry can be omitted, correct?

Yes :)

Hillf



  reply	other threads:[~2020-05-08 13:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200507004240.GA9156@paulmck-ThinkPad-P72>
2020-05-07  9:36 ` [PATCH RFC tip/core/rcu] Add shrinker to shift to fast/inefficient GP mode Hillf Danton
2020-05-07 15:49   ` Paul E. McKenney
2020-05-08 13:37     ` Hillf Danton [this message]
2020-05-08 14:47       ` Paul E. McKenney

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=20200508133743.9356-1-hdanton@sina.com \
    --to=hdanton@sina.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.org \
    /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).