Re: [RFC PATCH 5/9] mm: zswap: remove zswap_same_filled_pages_enabled

From: Maciej S. Szmigiero
Date: Mon Apr 01 2024 - 06:38:44 EST


On 29.03.2024 19:22, Yosry Ahmed wrote:
On Fri, Mar 29, 2024 at 10:45 AM Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

On Fri, Mar 29, 2024 at 03:02:10PM +0100, Maciej S. Szmigiero wrote:
On 29.03.2024 03:14, Yosry Ahmed wrote:
On Thu, Mar 28, 2024 at 1:06 PM Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote:

On Thu, Mar 28, 2024 at 12:11 PM Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

On Mon, Mar 25, 2024 at 11:50:13PM +0000, Yosry Ahmed wrote:
There is no logical reason to refuse storing same-filled pages more
efficiently and opt for compression. Remove the userspace knob.

Signed-off-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx>

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>

I also think the non_same_filled_pages_enabled option should go
away. Both of these tunables are pretty bizarre.

Happy to remove both in the next version :)

I thought non_same_filled_pages_enabled was introduced with the
initial support for same-filled pages, but it was introduced
separately (and much more recently):
https://lore.kernel.org/all/7dbafa963e8bab43608189abbe2067f4b9287831.1641247624.git.maciej.szmigiero@xxxxxxxxxx/

I am CCing Maciej to hear more about the use case for this.

Thanks for CCing me.

I introduced "non_same_filled_pages_enabled" a few years ago to
enable using zswap in a lightweight mode where it is only used for
its ability to store same-filled pages effectively.

But all the pages it rejects go to disk swap instead, which is much
slower than compression...

As far as I remember, there were some interactions between full
zswap and the cgroup memory controller - like, it made it easier
for an aggressive workload to exceed its cgroup memory.high limits.

Ok, that makes sense! A container fairness measure, rather than a
performance optimization.

Fair enough, but that's moot then with cgroup accounting of the
backing memory, f4840ccfca25 ("zswap: memcg accounting").

Right, this should no longer be needed with the zswap charging.

Maciej, is this still being used on kernels with f4840ccfca25 (5.19+)?
Any objections to removing it now?

I don't object to its removal as long as stable kernel trees aren't
affected.

Thanks,
Maciej