From: Nhat Pham <nphamcs@gmail.com>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Yosry Ahmed <yosryahmed@google.com>,
Chengming Zhou <zhouchengming@bytedance.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 14/20] mm: zswap: function ordering: public lru api
Date: Tue, 30 Jan 2024 15:47:25 -0800 [thread overview]
Message-ID: <CAKEwX=NMbVcGO4WPi7hyFPQFFec1OveGzS0AJDN+SctNNvOxAw@mail.gmail.com> (raw)
In-Reply-To: <20240130014208.565554-15-hannes@cmpxchg.org>
On Mon, Jan 29, 2024 at 5:42 PM Johannes Weiner <hannes@cmpxchg.org> wrote:
>
> The zswap entry section sits awkwardly in the middle of LRU-related
> functions. Group the external LRU API functions first.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> ---
> mm/zswap.c | 37 +++++++++++++++++++------------------
> 1 file changed, 19 insertions(+), 18 deletions(-)
>
> diff --git a/mm/zswap.c b/mm/zswap.c
> index e650fc587116..511bfafc1456 100644
> --- a/mm/zswap.c
> +++ b/mm/zswap.c
> @@ -746,6 +746,10 @@ static int zswap_enabled_param_set(const char *val,
> return ret;
> }
>
> +/*********************************
> +* lru functions
> +**********************************/
> +
nit: looks like there are 2 "lru functions" headers after this patch?
You remove the "lruvec functions" header, then add another "lru
functions" header it seems. The next patch removes one of them, so end
result is fine I guess - just seems a bit odd.
That asides:
Reviewed-by: Nhat Pham <nphamcs@gmail.com>
> /* should be called under RCU */
> #ifdef CONFIG_MEMCG
> static inline struct mem_cgroup *mem_cgroup_from_entry(struct zswap_entry *entry)
> @@ -764,6 +768,21 @@ static inline int entry_to_nid(struct zswap_entry *entry)
> return page_to_nid(virt_to_page(entry));
> }
>
> +void zswap_lruvec_state_init(struct lruvec *lruvec)
> +{
> + atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0);
> +}
> +
> +void zswap_folio_swapin(struct folio *folio)
> +{
> + struct lruvec *lruvec;
> +
> + if (folio) {
> + lruvec = folio_lruvec(folio);
> + atomic_long_inc(&lruvec->zswap_lruvec_state.nr_zswap_protected);
> + }
> +}
> +
> void zswap_memcg_offline_cleanup(struct mem_cgroup *memcg)
> {
> struct zswap_pool *pool;
> @@ -798,24 +817,6 @@ static void zswap_entry_cache_free(struct zswap_entry *entry)
> kmem_cache_free(zswap_entry_cache, entry);
> }
>
> -/*********************************
> -* zswap lruvec functions
> -**********************************/
Here's the removed zswap lruvec functions header.
> -void zswap_lruvec_state_init(struct lruvec *lruvec)
> -{
> - atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0);
> -}
> -
> -void zswap_folio_swapin(struct folio *folio)
> -{
> - struct lruvec *lruvec;
> -
> - if (folio) {
> - lruvec = folio_lruvec(folio);
> - atomic_long_inc(&lruvec->zswap_lruvec_state.nr_zswap_protected);
> - }
> -}
> -
> /*********************************
> * lru functions
> **********************************/
> --
Here's the second (original) lru functions header.
> 2.43.0
>
next prev parent reply other threads:[~2024-01-30 23:47 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 1:36 [PATCH 00/20] mm: zswap: cleanups Johannes Weiner
2024-01-30 1:36 ` [PATCH 01/20] mm: zswap: rename zswap_free_entry to zswap_entry_free Johannes Weiner
2024-01-30 3:13 ` Chengming Zhou
[not found] ` <20240130031938.GA772725@cmpxchg.org>
2024-01-30 3:21 ` Chengming Zhou
2024-01-30 3:36 ` Chengming Zhou
2024-01-30 8:08 ` Yosry Ahmed
2024-01-30 9:11 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 02/20] mm: zswap: inline and remove zswap_entry_find_get() Johannes Weiner
2024-01-30 3:37 ` Chengming Zhou
2024-01-30 8:09 ` Yosry Ahmed
2024-01-30 16:24 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 03/20] mm: zswap: move zswap_invalidate_entry() to related functions Johannes Weiner
2024-01-30 3:38 ` Chengming Zhou
2024-01-30 8:09 ` Yosry Ahmed
2024-01-30 16:25 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 04/20] mm: zswap: warn when referencing a dead entry Johannes Weiner
2024-01-30 3:39 ` [External] " Chengming Zhou
2024-01-30 8:10 ` Yosry Ahmed
2024-01-30 16:27 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 05/20] mm: zswap: clean up zswap_entry_put() Johannes Weiner
2024-01-30 3:39 ` Chengming Zhou
2024-01-30 7:51 ` Yosry Ahmed
2024-01-30 16:31 ` Nhat Pham
2024-01-30 17:02 ` Yosry Ahmed
2024-01-30 8:10 ` Yosry Ahmed
2024-01-30 1:36 ` [PATCH 06/20] mm: zswap: rename __zswap_load() to zswap_decompress() Johannes Weiner
2024-01-30 3:19 ` Chengming Zhou
2024-01-30 8:11 ` Yosry Ahmed
2024-01-30 16:33 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 07/20] mm: zswap: break out zwap_compress() Johannes Weiner
2024-01-30 3:23 ` Chengming Zhou
2024-01-30 8:11 ` Yosry Ahmed
2024-01-30 16:21 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 08/20] mm: zswap: further cleanup zswap_store() Johannes Weiner
2024-01-30 3:35 ` Chengming Zhou
2024-01-30 8:12 ` Yosry Ahmed
2024-01-30 18:18 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 09/20] mm: zswap: simplify zswap_invalidate() Johannes Weiner
2024-01-30 3:35 ` Chengming Zhou
2024-01-30 8:12 ` Yosry Ahmed
2024-01-30 16:50 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 10/20] mm: zswap: function ordering: pool alloc & free Johannes Weiner
2024-01-30 19:31 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 11/20] mm: zswap: function ordering: pool refcounting Johannes Weiner
2024-01-30 20:13 ` Nhat Pham
2024-01-31 11:23 ` Johannes Weiner
2024-01-31 23:23 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 12/20] mm: zswap: function ordering: zswap_pools Johannes Weiner
2024-01-30 21:16 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 13/20] mm: zswap: function ordering: pool params Johannes Weiner
2024-01-30 21:22 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 14/20] mm: zswap: function ordering: public lru api Johannes Weiner
2024-01-30 23:47 ` Nhat Pham [this message]
2024-01-31 11:40 ` Johannes Weiner
2024-01-30 1:36 ` [PATCH 15/20] mm: zswap: function ordering: move entry sections out of LRU section Johannes Weiner
2024-01-30 23:48 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 16/20] mm: zswap: function ordering: move entry section out of tree section Johannes Weiner
2024-01-31 23:24 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 17/20] mm: zswap: function ordering: compress & decompress functions Johannes Weiner
2024-01-31 23:25 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 18/20] mm: zswap: function ordering: per-cpu compression infra Johannes Weiner
2024-01-31 23:33 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 19/20] mm: zswap: function ordering: writeback Johannes Weiner
2024-01-31 23:36 ` Nhat Pham
2024-01-30 1:36 ` [PATCH 20/20] mm: zswap: function ordering: shrink_memcg_cb Johannes Weiner
2024-01-31 23:37 ` Nhat Pham
2024-01-30 8:16 ` [PATCH 00/20] mm: zswap: cleanups Yosry Ahmed
2024-01-30 12:21 ` Sergey Senozhatsky
2024-01-30 15:52 ` Johannes Weiner
2024-01-31 1:03 ` Sergey Senozhatsky
2024-01-30 15:46 ` Johannes Weiner
2024-01-30 17:15 ` Yosry Ahmed
2024-01-30 23:54 ` 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='CAKEwX=NMbVcGO4WPi7hyFPQFFec1OveGzS0AJDN+SctNNvOxAw@mail.gmail.com' \
--to=nphamcs@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=yosryahmed@google.com \
--cc=zhouchengming@bytedance.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