All of lore.kernel.org
 help / color / mirror / Atom feed
From: CGEL <cgel.zte@gmail.com>
To: Hugh Dickins <hughd@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>,
	akpm@linux-foundation.org, sfr@canb.auug.org.au,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Yang Yang <yang.yang29@zte.com.cn>
Subject: Re: [PATCH] psi: Treat ksm swapping in copy as memstall
Date: Tue, 8 Feb 2022 13:09:26 +0000	[thread overview]
Message-ID: <62026b89.1c69fb81.b9102.7042@mx.google.com> (raw)
In-Reply-To: <72532675-d898-9f30-1ba4-318fbd61786@google.com>

On Mon, Feb 07, 2022 at 07:22:22PM -0800, Hugh Dickins wrote:
> On Fri, 28 Jan 2022, CGEL wrote:
> > On Thu, Jan 27, 2022 at 08:29:08PM -0500, Johannes Weiner wrote:
> > > On Fri, Jan 21, 2022 at 09:51:08AM +0000, CGEL wrote:
> > > >  Wed, Jan 19, 2022 at 07:58:23AM -0500, Johannes Weiner wrote:
> > > > > On Wed, Jan 19, 2022 at 06:13:54AM +0000, CGEL wrote:
> > > > > > I did a test, when we use zram, it takes longer time for ksm copying than
> > > > > > swap_readpage(). Ksm copying average takes 147263ns, swap_readpage()
> > > > > > average takes 55639ns. So I think this patch is reasonable.
> > > > > 
> > > > > Ok, that sounds reasonable to me as well. Please add the
> > > > > PageWorkingset() check and resubmit the patch. Thanks!
> > > > I am a litte confused about adding PageWorkingset(), since I
> > > > think ksm_might_need_to_copy() memstall is like swap_readpage()
> > > > memstall and swap_readpage() doesn't add PageWorkingset().
> > > 
> > > That's actually a bug! It should do that.
> > I recently found that too. Please CC to me your new patch, thanks!
> > And I will send V2 of this patch "psi: Treat ksm swapping in copy
> > as memstall" with PageWorkingset().
> 
> I'm entirely PSI-ignorant, and reluctant to disagree with Johannes,
> but I don't see how your patch to ksm_might_need_to_copy() could be
> correct - maybe the "swapping" in your subject is confusing.
> 
> There is no PSI enter and exit around the page allocation and copying
> in wp_page_copy(), so why in the analogous ksm_might_need_to_copy()?
>
I think it's two questions, first why PSI didn't treat wp_page_copy() as
memstall, second why should PSI treat ksm_might_need_to_copy() as memstall.

The first question is unrelated with this patch. I think the reason is PSI
focous on memory contending(see Documentation/accounting/psi.rst), and
wp_page_copy() is not caused by memory contending. Actually wp_page_copy()
will still be called if memory is not contending.

For the second question, ksm_might_need_to_copy() is called only becaused
of swapping, and swap is caused by memory contending, so PSI better treat
it as memstall.

Thanks.
> Hugh


  reply	other threads:[~2022-02-08 13:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-16 15:21 [PATCH] psi: Treat ksm swapping in copy as memstall cgel.zte
2022-01-17 12:14 ` Johannes Weiner
2022-01-19  6:13   ` CGEL
2022-01-19 12:58     ` Johannes Weiner
2022-01-21  9:51       ` CGEL
2022-01-28  1:29         ` Johannes Weiner
2022-01-28  2:31           ` CGEL
2022-02-08  3:22             ` Hugh Dickins
2022-02-08 13:09               ` CGEL [this message]
2022-02-09  5:55                 ` Hugh Dickins
2022-02-10  6:52                   ` CGEL

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=62026b89.1c69fb81.b9102.7042@mx.google.com \
    --to=cgel.zte@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sfr@canb.auug.org.au \
    --cc=yang.yang29@zte.com.cn \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.