linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Chris Li <chrisl@kernel.org>
To: Baoquan He <bhe@redhat.com>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org,
	kasong@tencent.com,  baohua@kernel.org, nphamcs@gmail.com,
	shikemeng@huaweicloud.com
Subject: Re: [PATCH 0/3] mm/swap: remove plist swap_active_head
Date: Wed, 1 Oct 2025 23:04:06 -0700	[thread overview]
Message-ID: <CACePvbXjLqcz+Smz+woQEKbGdCP3DwgPYvJfLRLPiuHsv7-q_A@mail.gmail.com> (raw)
In-Reply-To: <20251001043436.41338-1-bhe@redhat.com>

On Tue, Sep 30, 2025 at 9:34 PM Baoquan He <bhe@redhat.com> wrote:
>

Can you please confirm or deny this series is depend on the "[PATCH v3
0/2] mm/swapfile.c: select the swap device with default priority round
robin" series.

If it is depend on that series, you need to declare that in the
beginning, so Andrew will not try to apply it without the depended
series.

> In mm/swapfile.c, there are two plist variables, swap_active_head and
> swap_avail_head. swap_avail_head contains all available (active, not full)
> swap_info_structs orderred by priority. While swap_active_head contains

Nit: spelling : orderred -> ordered

> all active swap_info_structs (active, nor full and full) orderred by

Same here, ordered.

> priority. Earlier, it serves three purposes:
>
> 1) When swapoff one swap device in the middle, swap devices of priority
>    lower than the swapped off swap device will be promoted up value one,
>    e.g, I swapped off zram1 of priority '-3', then zram2 promoted to
>    have priority '-3', zram3 has priority '-4'. This is done via plist
>    swap_active_head.
>    - This code has been taken off in
>      - [PATCH v3 0/2] mm/swapfile.c: select the swap device with default priority round robin

See above, if there is patch dependency, declare it early.

> # swapon
> NAME       TYPE      SIZE USED PRIO
> /dev/zram0 partition  16G   0B   -2
> /dev/zram1 partition  16G   0B   -3
> /dev/zram2 partition  16G   0B   -4
> /dev/zram3 partition  16G   0B   -5

I am a bit confused. If the "[PATCH v3 0/2] mm/swapfile.c: select the
swap device with default priority round robin" series already change
the default priority to -1. How does it get the -2 -3 -4 -5? You seems
describe the behavior before that revert series. Can you please
clarify.

> # swapoff /dev/zram1
> # swapon
> NAME       TYPE      SIZE USED PRIO
> /dev/zram0 partition  16G   0B   -2
> /dev/zram2 partition  16G   0B   -3
> /dev/zram3 partition  16G   0B   -4

Is that the behavior before your reverting node id for swapfile series?
Assume it has patch dependency on the earlier series. Wouldn't better
you describe the behavior after the round robin series and how you can
do better?

> 2) Find a swap device in swap_active_head when swap off.
>    - This can be done through iterating swap_info[] instead. Change is
>      done in patch 2.

Can you please clarify what is the benefit of remove plist swap_active_head?
e.g. Does it simply the code or make swap code perform better.

> 3) Judge if there's any active swap device via __has_usable_swap().
>    - This can be done by checking total_swap_pages instead. Change is
>      done in patch 1.
>
> Among them, the purpose 1) is the most important, while it has been
> taken off in below patchset. So this patchset removing swap_active_head
> sits on top of it.
> - [PATCH v3 0/2] mm/swapfile.c: select the swap device with default priority round robin
>   - https://lore.kernel.org/all/20250930063311.14126-1-bhe@redhat.com/T/#u

It seems you mean to say this patch series is depend on that PATCH v3 series.

Chris

>
> Baoquan He (3):
>   mm/swapfile.c: remove __has_usable_swap()
>   mm/swapfile.c: use swap_info[] to find the swap device
>   mm/swap: remove unneeded swap_active_head
>
>  include/linux/swap.h |  1 -
>  mm/swapfile.c        | 31 ++++++++-----------------------
>  2 files changed, 8 insertions(+), 24 deletions(-)
>
> --
> 2.41.0
>


  parent reply	other threads:[~2025-10-02  6:04 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-01  4:34 [PATCH 0/3] mm/swap: remove plist swap_active_head Baoquan He
2025-10-01  4:34 ` [PATCH 1/3] mm/swapfile.c: remove __has_usable_swap() Baoquan He
2025-10-01  4:34 ` [PATCH 2/3] mm/swapfile.c: use swap_info[] to find the swap device Baoquan He
2025-10-02 15:59   ` Chris Li
2025-10-03  2:38     ` Baoquan He
2025-10-03  4:50       ` Chris Li
2025-10-03  5:29         ` Baoquan He
2025-10-01  4:34 ` [PATCH 3/3] mm/swap: remove unneeded swap_active_head Baoquan He
2025-10-02  8:33   ` Chris Li
2025-10-02 13:42     ` Baoquan He
2025-10-09  3:26   ` Andrew Morton
2025-10-09  7:47     ` Baoquan He
2025-10-09 17:09       ` Chris Li
2025-10-10  2:56         ` YoungJun Park
2025-10-10  1:28       ` Andrew Morton
2025-10-10  2:14         ` Baoquan He
2025-10-10  2:34           ` Chris Li
2025-10-10  2:33         ` Chris Li
2025-10-10  2:52         ` Chris Li
2025-10-02  6:04 ` Chris Li [this message]
2025-10-02 13:09   ` [PATCH 0/3] mm/swap: remove plist swap_active_head Baoquan He
2025-10-02 16:23     ` 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=CACePvbXjLqcz+Smz+woQEKbGdCP3DwgPYvJfLRLPiuHsv7-q_A@mail.gmail.com \
    --to=chrisl@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=baohua@kernel.org \
    --cc=bhe@redhat.com \
    --cc=kasong@tencent.com \
    --cc=linux-mm@kvack.org \
    --cc=nphamcs@gmail.com \
    --cc=shikemeng@huaweicloud.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).