From: Andrew Morton <akpm@linux-foundation.org>
To: Nhat Pham <nphamcs@gmail.com>
Cc: tj@kernel.org, lizefan.x@bytedance.com, hannes@cmpxchg.org,
cerasuolodomenico@gmail.com, yosryahmed@google.com,
sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com,
mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com,
muchun.song@linux.dev, hughd@google.com, corbet@lwn.net,
konrad.wilk@oracle.com, senozhatsky@chromium.org,
rppt@kernel.org, linux-mm@kvack.org, kernel-team@meta.com,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
david@ixit.cz, chrisl@kernel.org
Subject: Re: [PATCH v6] zswap: memcontrol: implement zswap writeback disabling
Date: Thu, 7 Dec 2023 14:11:42 -0800 [thread overview]
Message-ID: <20231207141142.307745be167d044b0eec1b42@linux-foundation.org> (raw)
In-Reply-To: <20231207192406.3809579-1-nphamcs@gmail.com>
On Thu, 7 Dec 2023 11:24:06 -0800 Nhat Pham <nphamcs@gmail.com> wrote:
> During our experiment with zswap, we sometimes observe swap IOs due to
> occasional zswap store failures and writebacks-to-swap. These swapping
> IOs prevent many users who cannot tolerate swapping from adopting zswap
> to save memory and improve performance where possible.
>
> This patch adds the option to disable this behavior entirely: do not
> writeback to backing swapping device when a zswap store attempt fail,
> and do not write pages in the zswap pool back to the backing swap
> device (both when the pool is full, and when the new zswap shrinker is
> called).
>
> This new behavior can be opted-in/out on a per-cgroup basis via a new
> cgroup file. By default, writebacks to swap device is enabled, which is
> the previous behavior. Initially, writeback is enabled for the root
> cgroup, and a newly created cgroup will inherit the current setting of
> its parent.
>
> Note that this is subtly different from setting memory.swap.max to 0, as
> it still allows for pages to be stored in the zswap pool (which itself
> consumes swap space in its current form).
>
> This patch should be applied on top of the zswap shrinker series:
>
> https://lore.kernel.org/linux-mm/20231130194023.4102148-1-nphamcs@gmail.com/
>
> as it also disables the zswap shrinker, a major source of zswap
> writebacks.
>
> ...
>
> --- a/Documentation/admin-guide/mm/zswap.rst
> +++ b/Documentation/admin-guide/mm/zswap.rst
> @@ -153,6 +153,12 @@ attribute, e. g.::
>
> Setting this parameter to 100 will disable the hysteresis.
>
> +Some users cannot tolerate the swapping that comes with zswap store failures
> +and zswap writebacks. Swapping can be disabled entirely (without disabling
> +zswap itself) on a cgroup-basis as follows:
> +
> + echo 0 > /sys/fs/cgroup/<cgroup-name>/memory.zswap.writeback
> +
This does seem to be getting down into the weeds. How would a user
know (or even suspect) that these things are happening to them? Perhaps
it would be helpful to tell people where to go look to determine this.
Also, it would be quite helpful of the changelog were to give us some
idea of how important this tunable is. What sort of throughput
differences might it cause and under what circumstances?
next prev parent reply other threads:[~2023-12-07 22:11 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 19:24 Nhat Pham
2023-12-07 19:26 ` Yosry Ahmed
2023-12-07 22:11 ` Andrew Morton [this message]
2023-12-08 0:42 ` Nhat Pham
2023-12-08 1:14 ` Nhat Pham
2023-12-08 19:58 ` Andrew Morton
2023-12-08 19:57 ` Andrew Morton
2023-12-08 0:19 ` Chris Li
2023-12-08 1:03 ` Nhat Pham
2023-12-08 1:12 ` Yosry Ahmed
2023-12-08 16:34 ` Johannes Weiner
2023-12-08 20:08 ` Yosry Ahmed
2023-12-09 2:02 ` Chris Li
2023-12-09 0:09 ` Chris Li
2023-12-08 23:55 ` Chris Li
2023-12-09 3:42 ` Johannes Weiner
2023-12-09 17:39 ` Chris Li
2023-12-11 22:55 ` Minchan Kim
2023-12-12 2:43 ` [External] " Zhongkun He
2023-12-12 23:57 ` Chris Li
2023-12-20 10:22 ` Kairui Song
2023-12-14 17:11 ` Johannes Weiner
2023-12-14 17:23 ` Yu Zhao
2023-12-14 18:00 ` Fabian Deutsch
2023-12-14 23:22 ` Chris Li
2023-12-15 7:42 ` Fabian Deutsch
2023-12-15 9:40 ` Chris Li
2023-12-15 9:50 ` Fabian Deutsch
2023-12-15 9:18 ` Fabian Deutsch
2023-12-14 18:03 ` Fabian Deutsch
2023-12-14 17:34 ` Christopher Li
2023-12-14 22:11 ` Johannes Weiner
2023-12-14 22:54 ` Chris Li
2023-12-15 2:19 ` Nhat Pham
2023-12-12 21:36 ` Nhat Pham
2023-12-13 0:29 ` Chris Li
2023-12-11 9:31 ` Kairui Song
2023-12-12 23:39 ` Chris Li
2023-12-20 10:21 ` Kairui Song
2023-12-15 21:21 ` Yosry Ahmed
2023-12-18 14:44 ` Johannes Weiner
2023-12-18 19:21 ` Nhat Pham
2023-12-18 21:54 ` Yosry Ahmed
2023-12-18 21:52 ` Yosry Ahmed
2023-12-20 5:15 ` Johannes Weiner
2023-12-20 8:59 ` Yosry Ahmed
2023-12-20 14:50 ` Johannes Weiner
2023-12-21 0:24 ` Yosry Ahmed
2023-12-21 0:50 ` Nhat Pham
2023-12-21 0:57 ` [PATCH v6] zswap: memcontrol: implement zswap writeback disabling (fix) Nhat Pham
2023-12-24 17:17 ` Chris Li
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=20231207141142.307745be167d044b0eec1b42@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=cerasuolodomenico@gmail.com \
--cc=chrisl@kernel.org \
--cc=corbet@lwn.net \
--cc=david@ixit.cz \
--cc=ddstreet@ieee.org \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kernel-team@meta.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizefan.x@bytedance.com \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=nphamcs@gmail.com \
--cc=roman.gushchin@linux.dev \
--cc=rppt@kernel.org \
--cc=senozhatsky@chromium.org \
--cc=shakeelb@google.com \
--cc=sjenning@redhat.com \
--cc=tj@kernel.org \
--cc=vitaly.wool@konsulko.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