From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Nhat Pham <nphamcs@gmail.com>
Cc: akpm@linux-foundation.org, hannes@cmpxchg.org,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org,
sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com
Subject: Re: [PATCH v6 4/6] zsmalloc: Add a LRU to zs_pool to keep track of zspages in LRU order
Date: Wed, 23 Nov 2022 12:58:28 +0900 [thread overview]
Message-ID: <Y32aZCYlAzONnaC4@google.com> (raw)
In-Reply-To: <20221119001536.2086599-5-nphamcs@gmail.com>
On (22/11/18 16:15), Nhat Pham wrote:
> +#ifdef CONFIG_ZPOOL
> + /* Move the zspage to front of pool's LRU */
> + if (mm == ZS_MM_WO) {
> + if (!list_empty(&zspage->lru))
> + list_del(&zspage->lru);
> + list_add(&zspage->lru, &pool->lru);
> + }
> +#endif
Just an idea.
Have you considered having size class LRU instead of pool LRU?
Evicting pages from different classes can have different impact on the
system, in theory. For instance, ZS_FULL zspage in class size 3264
(bytes) holds 5 compressed objects per-zspage, which are 5 compressed
swapped out pages. While zspage in a class size 176 (bytes) holds 93
compressed objects (swapped pages). Both zspages consist of 4
non-contiguous 0-order physical pages, so when we free zspage from these
classes we release 4 physical pages. However, in terms of major
page faults evicting a page from size class 3264 looks better than from
a size class 176: 5 major page faults vs 93 major page faults.
Does this make sense?
next prev parent reply other threads:[~2022-11-23 3:58 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-19 0:15 [PATCH v6 0/6] Implement writeback for zsmalloc Nhat Pham
2022-11-19 0:15 ` [PATCH v6 1/6] zswap: fix writeback lock ordering " Nhat Pham
2022-11-22 1:43 ` Sergey Senozhatsky
2022-11-19 0:15 ` [PATCH v6 2/6] zpool: clean out dead code Nhat Pham
2022-11-22 1:46 ` Sergey Senozhatsky
2022-11-19 0:15 ` [PATCH v6 4/6] zsmalloc: Add a LRU to zs_pool to keep track of zspages in LRU order Nhat Pham
2022-11-19 16:38 ` Johannes Weiner
2022-11-19 17:34 ` Minchan Kim
2022-11-22 1:52 ` Sergey Senozhatsky
2022-11-22 17:42 ` Johannes Weiner
2022-11-23 3:50 ` Sergey Senozhatsky
2022-11-23 8:02 ` Yosry Ahmed
2022-11-23 8:11 ` Yosry Ahmed
2022-11-23 16:30 ` Johannes Weiner
2022-11-24 3:29 ` Sergey Senozhatsky
2022-11-24 3:21 ` Sergey Senozhatsky
2022-11-23 3:58 ` Sergey Senozhatsky [this message]
2022-11-19 0:15 ` [PATCH v6 5/6] zsmalloc: Add zpool_ops field to zs_pool to store evict handlers Nhat Pham
2022-11-19 16:39 ` Johannes Weiner
2022-11-22 1:11 ` Sergey Senozhatsky
2022-11-19 0:15 ` [PATCH v6 6/6] zsmalloc: Implement writeback mechanism for zsmalloc Nhat Pham
2022-11-19 16:45 ` Johannes Weiner
2022-11-19 17:35 ` Minchan Kim
2022-11-22 1:40 ` Sergey Senozhatsky
2022-11-22 2:00 ` Sergey Senozhatsky
2022-11-22 2:15 ` Sergey Senozhatsky
2022-11-22 3:12 ` Johannes Weiner
2022-11-22 3:42 ` Sergey Senozhatsky
2022-11-22 6:09 ` Johannes Weiner
2022-11-22 6:35 ` Sergey Senozhatsky
2022-11-22 7:10 ` Johannes Weiner
2022-11-22 7:19 ` Sergey Senozhatsky
2022-11-22 6:37 ` Sergey Senozhatsky
2022-11-23 16:30 ` Nhat Pham
2022-11-23 17:27 ` Johannes Weiner
2022-11-23 17:18 ` Johannes Weiner
2022-11-21 19:29 ` [PATCH v6 0/6] Implement writeback " Nhat Pham
2022-11-23 19:26 ` Nhat Pham
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=Y32aZCYlAzONnaC4@google.com \
--to=senozhatsky@chromium.org \
--cc=akpm@linux-foundation.org \
--cc=ddstreet@ieee.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
--cc=nphamcs@gmail.com \
--cc=sjenning@redhat.com \
--cc=vitaly.wool@konsulko.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).