Re: [PATCH v3 4/4] mm: zswap: remove same_filled module params

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 13, 2024 at 10:56:47PM +0200, Maciej S. Szmigiero wrote:
> On 13.04.2024 04:24, Yosry Ahmed wrote:
> > These knobs offer more fine-grained control to userspace than needed and
> > directly expose/influence kernel implementation; remove them.
> > 
> > For disabling same_filled handling, there is no logical reason to refuse
> > storing same-filled pages more efficiently and opt for compression.
> > Scanning pages for patterns may be an argument, but the page contents
> > will be read into the CPU cache anyway during compression. Also,
> > removing the same_filled handling code does not move the needle
> > significantly in terms of performance anyway [1].
> > 
> > For disabling non_same_filled handling, it was added when the compressed
> > pages in zswap were not being properly charged to memcgs, as workloads
> > could escape the accounting with compression [2]. This is no longer the
> > case after commit f4840ccfca25 ("zswap: memcg accounting"), and using
> > zswap without compression does not make much sense.
> > 
> > [1]https://lore.kernel.org/lkml/CAJD7tkaySFP2hBQw4pnZHJJwe3bMdjJ1t9VC2VJd=khn1_TXvA@xxxxxxxxxxxxxx/
> > [2]https://lore.kernel.org/lkml/19d5cdee-2868-41bd-83d5-6da75d72e940@xxxxxxxxxxxxxxxxxxxxx/
> > 
> > Cc: "Maciej S. Szmigiero" <mail@xxxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx>
> > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> > Reviewed-by: Nhat Pham <nphamcs@xxxxxxxxx>
> > Reviewed-by: Chengming Zhou <chengming.zhou@xxxxxxxxx>
> > ---
> 
> I think you need to update zswap kernel docs, too.

Ah yes, I had local changes to update the docs but apparently never
committed them. Thanks for catching this.

Andrew, could you please fold in the following patch or merge it as as
separate one? Whatever you prefer. Thanks.

>From 6191c528fee01a4c79b43c53ccbd0273b705965e Mon Sep 17 00:00:00 2001
From: Yosry Ahmed <yosryahmed@xxxxxxxxxx>
Date: Sun, 14 Apr 2024 21:03:43 +0000
Subject: [PATCH] mm: zswap: remove same_filled_pages from docs

The module parameters are now removed, remove all references from kernel
docs.

Signed-off-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx>
---
 Documentation/admin-guide/mm/zswap.rst        | 29 -------------------
 .../driver-api/crypto/iaa/iaa-crypto.rst      |  2 --
 2 files changed, 31 deletions(-)

diff --git a/Documentation/admin-guide/mm/zswap.rst b/Documentation/admin-guide/mm/zswap.rst
index b42132969e315..59783134afbe9 100644
--- a/Documentation/admin-guide/mm/zswap.rst
+++ b/Documentation/admin-guide/mm/zswap.rst
@@ -111,35 +111,6 @@ checked if it is a same-value filled page before compressing it. If true, the
 compressed length of the page is set to zero and the pattern or same-filled
 value is stored.
 
-Same-value filled pages identification feature is enabled by default and can be
-disabled at boot time by setting the ``same_filled_pages_enabled`` attribute
-to 0, e.g. ``zswap.same_filled_pages_enabled=0``. It can also be enabled and
-disabled at runtime using the sysfs ``same_filled_pages_enabled``
-attribute, e.g.::
-
-	echo 1 > /sys/module/zswap/parameters/same_filled_pages_enabled
-
-When zswap same-filled page identification is disabled at runtime, it will stop
-checking for the same-value filled pages during store operation.
-In other words, every page will be then considered non-same-value filled.
-However, the existing pages which are marked as same-value filled pages remain
-stored unchanged in zswap until they are either loaded or invalidated.
-
-In some circumstances it might be advantageous to make use of just the zswap
-ability to efficiently store same-filled pages without enabling the whole
-compressed page storage.
-In this case the handling of non-same-value pages by zswap (enabled by default)
-can be disabled by setting the ``non_same_filled_pages_enabled`` attribute
-to 0, e.g. ``zswap.non_same_filled_pages_enabled=0``.
-It can also be enabled and disabled at runtime using the sysfs
-``non_same_filled_pages_enabled`` attribute, e.g.::
-
-	echo 1 > /sys/module/zswap/parameters/non_same_filled_pages_enabled
-
-Disabling both ``zswap.same_filled_pages_enabled`` and
-``zswap.non_same_filled_pages_enabled`` effectively disables accepting any new
-pages by zswap.
-
 To prevent zswap from shrinking pool when zswap is full and there's a high
 pressure on swap (this will result in flipping pages in and out zswap pool
 without any real benefit but with a performance drop for the system), a
diff --git a/Documentation/driver-api/crypto/iaa/iaa-crypto.rst b/Documentation/driver-api/crypto/iaa/iaa-crypto.rst
index de587cf9cbed4..4cb1d52ea6dc4 100644
--- a/Documentation/driver-api/crypto/iaa/iaa-crypto.rst
+++ b/Documentation/driver-api/crypto/iaa/iaa-crypto.rst
@@ -457,7 +457,6 @@ Use the following commands to enable zswap::
   # echo deflate-iaa > /sys/module/zswap/parameters/compressor
   # echo zsmalloc > /sys/module/zswap/parameters/zpool
   # echo 1 > /sys/module/zswap/parameters/enabled
-  # echo 0 > /sys/module/zswap/parameters/same_filled_pages_enabled
   # echo 100 > /proc/sys/vm/swappiness
   # echo never > /sys/kernel/mm/transparent_hugepage/enabled
   # echo 1 > /proc/sys/vm/overcommit_memory
@@ -599,7 +598,6 @@ the 'fixed' compression mode::
   echo deflate-iaa > /sys/module/zswap/parameters/compressor
   echo zsmalloc > /sys/module/zswap/parameters/zpool
   echo 1 > /sys/module/zswap/parameters/enabled
-  echo 0 > /sys/module/zswap/parameters/same_filled_pages_enabled
 
   echo 100 > /proc/sys/vm/swappiness
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
-- 
2.44.0.683.g7961c838ac-goog






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux