linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Li <chrisl@kernel.org>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Zhongkun He <hezhongkun.hzk@bytedance.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Nhat Pham <nphamcs@gmail.com>,
	Seth Jennings <sjenning@redhat.com>,
	Dan Streetman <ddstreet@ieee.org>,
	Vitaly Wool <vitaly.wool@konsulko.com>,
	linux-mm <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>, Ying <ying.huang@intel.com>
Subject: Re: [PATCH] mm:zswap: fix zswap entry reclamation failure in two scenarios
Date: Fri, 17 Nov 2023 15:30:47 -0800	[thread overview]
Message-ID: <CAF8kJuNAfzkisG3ukYNuWY6CDSKQ7J6bb0xwFpnSHi0wv3mJWg@mail.gmail.com> (raw)
In-Reply-To: <CAJD7tkahj=QkNj1PBfzGRcDyrpE-n5Dbav7VVOVsAFR4vtx9LA@mail.gmail.com>

On Thu, Nov 16, 2023 at 12:46 PM Yosry Ahmed <yosryahmed@google.com> wrote:
>
> On Thu, Nov 16, 2023 at 12:30 PM Chris Li <chriscli@google.com> wrote:
> >
> > On Thu, Nov 16, 2023 at 12:19 PM Yosry Ahmed <yosryahmed@google.com> wrote:
> > >
> > > Not bypassing the swap slot cache, just make the callbacks to
> > > invalidate the zswap entry, do memg uncharging, etc when the slot is
> > > no longer used and is entering the swap slot cache (i.e. when
> > > free_swap_slot() is called), instead of when draining the swap slot
> > > cache (i.e. when swap_range_free() is called). For all parts of MM
> > > outside of swap, the swap entry is freed when free_swap_slot() is
> > > called. We don't free it immediately because of caching, but this
> > > should be transparent to other parts of MM (e.g. zswap, memcg, etc).
> >
> > That will cancel the batching effect on the swap slot free, making the
> > common case for  swapping  faults take longer to complete, righ?
> > If I recall correctly, the uncharge is the expensive part of the swap
> > slot free operation.
> > I just want to figure out what we are trading off against. This is not
> > one side wins all situations.
>
> Interesting. Maybe we can just move the zswap_invalidate() call to
> save memory early, and leave the memcg uncharge call to be batched?
> IIUC we already do some version of this internally at Google.

I would like to see the patch so I can reason about it better.
Do you have the link for the patch you are talking about?
I can also look up the Google internal one if you have a commit hash.

One thing I would like to find out is whether the behavior of  reusing
swap slots without page writing has been changed.
e.g. Previously if the swap slot can be page out again without
writing/compression again, if the page is not dirty. If we change that
behavior, I would like to understand the trade off better.

Chris

  reply	other threads:[~2023-11-17 23:31 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-13 13:06 [PATCH] mm:zswap: fix zswap entry reclamation failure in two scenarios Zhongkun He
2023-11-13 15:11 ` Nhat Pham
2023-11-14  5:21   ` [External] " 贺中坤
2023-11-14 16:30     ` Nhat Pham
2023-11-15 12:12       ` 贺中坤
2023-11-14 17:16 ` Yosry Ahmed
2023-11-15 12:53   ` [External] " 贺中坤
2023-11-15 20:12     ` Yosry Ahmed
2023-11-16  3:33       ` 贺中坤
2023-11-16  4:09         ` Yosry Ahmed
2023-11-16  4:23           ` 贺中坤
2023-11-16  8:31   ` Huang, Ying
2023-11-16 10:34     ` [External] " 贺中坤
2023-11-16 20:11   ` Chris Li
2023-11-16 20:18     ` Yosry Ahmed
2023-11-16 20:30       ` Chris Li
2023-11-16 20:45         ` Yosry Ahmed
2023-11-17 23:30           ` Chris Li [this message]
2023-11-17  9:56         ` [External] " Zhongkun He
2023-11-17 23:47           ` Chris Li
2023-11-18  1:45             ` Zhongkun He
2023-11-18 18:43               ` Nhat Pham
2023-11-19  8:29                 ` Chris Li
2023-11-20  2:42                 ` Zhongkun He
2023-11-19  8:23               ` Chris Li
2023-11-20  3:16                 ` Zhongkun He
2023-11-20  3:18         ` Huang, Ying
2023-11-20  5:31           ` Chris Li
2023-11-20  5:39             ` Huang, Ying
2023-11-20  5:51               ` Chris Li
2023-11-20 18:52           ` Yosry Ahmed
2023-11-21  0:54             ` Huang, Ying
2023-11-21  1:15               ` Yosry Ahmed
2023-11-21  1:53                 ` Huang, Ying
2023-11-21  2:46                   ` Yosry Ahmed
2023-11-21  3:32                     ` Huang, Ying
2023-11-21  3:37                       ` Yosry Ahmed

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=CAF8kJuNAfzkisG3ukYNuWY6CDSKQ7J6bb0xwFpnSHi0wv3mJWg@mail.gmail.com \
    --to=chrisl@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ddstreet@ieee.org \
    --cc=hannes@cmpxchg.org \
    --cc=hezhongkun.hzk@bytedance.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nphamcs@gmail.com \
    --cc=sjenning@redhat.com \
    --cc=vitaly.wool@konsulko.com \
    --cc=ying.huang@intel.com \
    --cc=yosryahmed@google.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).