From: Alex Shi <seakeel@gmail.com>
To: Yosry Ahmed <yosryahmed@google.com>, alexs@kernel.org
Cc: Vitaly Wool <vitaly.wool@konsulko.com>,
Miaohe Lin <linmiaohe@huawei.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
minchan@kernel.org, willy@infradead.org,
senozhatsky@chromium.org, david@redhat.com, 42.hyeyoo@gmail.com
Subject: Re: [PATCH 00/15] add zpdesc memory descriptor for zswap.zpool
Date: Tue, 25 Jun 2024 16:11:48 +0800 [thread overview]
Message-ID: <2e9ce344-e25f-41e0-8ca4-b6d80e095735@gmail.com> (raw)
In-Reply-To: <CAJD7tkbnmeVugfunffSovJf9FAgy9rhBVt_tx=nxUveLUfqVsA@mail.gmail.com>
On 6/25/24 5:46 AM, Yosry Ahmed wrote:
> On Thu, Jun 20, 2024 at 10:42 PM <alexs@kernel.org> wrote:
>>
>> From: Alex Shi <alexs@kernel.org>
>>
>> According to Metthew's plan, the page descriptor will be replace by a 8
>> bytes mem_desc on destination purpose.
>> https://lore.kernel.org/lkml/YvV1KTyzZ+Jrtj9x@casper.infradead.org/
>>
>> Here is a implement on z3fold to replace page descriptor by zpdesc,
>> which is still overlay on struct page now. but it's a step move forward
>> above destination.
>>
>> To name the struct zpdesc instead of z3fold_desc, since there are 3 zpool
>> usages under zswap, zbud, z3fold, zsmalloc. It looks like we may extend the
>> zpdesc to zbud and zsmalloc, combined their usage into one.
>
> Please do not focus your development efforts on z3fold. We really want
> to deprecate/remove it, as well as zbud eventually. See [1].
>
> For zsmalloc, there is already an ongoing effort to split zsdesc from
> struct page [2].
>
> [1]https://lore.kernel.org/lkml/CAJD7tkbRF6od-2x_L8-A1QL3=2Ww13sCj4S3i4bNndqF+3+_Vg@mail.gmail.com/
Hi Yosry,
Thanks a lot for the info and comments! It's my stupid w/o checking the email list before work on it.
Anyway don't know if z3fold would be removed, jut left this tested patchset here if someone need it.
>
> [2]https://lore.kernel.org/lkml/20230713042037.980211-1-42.hyeyoo@gmail.com/
David had pointed out this to me few weeks ago too. This patchset hasn't updated nearly a year. If Yoo don't object I'd like to pick up from his left and update it to latest zsmalloc.c.
Thanks
Alex
>
>>
>> For zpdesc(page), z3fold just uses the 5th member zppage_flag, which
>> match with page.private. Potentially uses the first member flags for
>> headless PG_locked, list_head lru and page.mapping|PAGE_MAPPING_MOVABLE
>> for page migration.
>>
>> This patachset could save 26Kbyetes z3fold.o size, basely saving come
>> from the page to folio conversion.
>>
>> Thanks a lot!
>> Alex
>>
>> Alex Shi (15):
>> mm/z3fold: add zpdesc struct and helper and use them in
>> z3fold_page_isolate
>> mm/z3fold: use zpdesc in z3fold_page_migrate
>> mm/z3fold: use zpdesc in z3fold_page_putback
>> mm/z3fold: use zpdesc in get/put_z3fold_header funcs
>> mm/z3fold: use zpdesc in init_z3fold_page
>> mm/z3fold: use zpdesc in free_z3fold_page
>> mm/z3fold: convert page to zpdesc in __release_z3fold_page
>> mm/z3fold: use zpdesc free_pages_work
>> mm/z3fold: use zpdesc in z3fold_compact_page and do_compact_page
>> mm/z3fold: use zpdesc in __z3fold_alloc
>> mm/z3fold: use zpdesc in z3fold_alloc
>> mm/z3fold: use zpdesc in free_z3fold_page and z3fold_free
>> mm/z3fold: use zpdesc in z3fold_map/z3fold_unmap
>> mm/z3fold: introduce __zpdesc_set_movable
>> mm/z3fold: introduce __zpdesc_clear_movable
>>
>> mm/z3fold.c | 190 +++++++++++++++++++++++++++-------------------------
>> mm/zpdesc.h | 87 ++++++++++++++++++++++++
>> 2 files changed, 184 insertions(+), 93 deletions(-)
>> create mode 100644 mm/zpdesc.h
>>
>> --
>> 2.43.0
>>
>>
next prev parent reply other threads:[~2024-06-25 8:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-21 5:46 [PATCH 00/15] add zpdesc memory descriptor for zswap.zpool alexs
2024-06-21 5:46 ` [PATCH 01/15] mm/z3fold: add zpdesc struct and helper and use them in z3fold_page_isolate alexs
2024-06-21 5:46 ` [PATCH 02/15] mm/z3fold: use zpdesc in z3fold_page_migrate alexs
2024-06-21 5:46 ` [PATCH 03/15] mm/z3fold: use zpdesc in z3fold_page_putback alexs
2024-06-21 5:46 ` [PATCH 04/15] mm/z3fold: use zpdesc in get/put_z3fold_header funcs alexs
2024-06-21 5:46 ` [PATCH 05/15] mm/z3fold: use zpdesc in init_z3fold_page alexs
2024-06-21 5:46 ` [PATCH 06/15] mm/z3fold: use zpdesc in free_z3fold_page alexs
2024-06-21 5:46 ` [PATCH 07/15] mm/z3fold: convert page to zpdesc in __release_z3fold_page alexs
2024-06-21 5:46 ` [PATCH 08/15] mm/z3fold: use zpdesc free_pages_work alexs
2024-06-21 5:46 ` [PATCH 09/15] mm/z3fold: use zpdesc in z3fold_compact_page and do_compact_page alexs
2024-06-21 5:46 ` [PATCH 10/15] mm/z3fold: use zpdesc in __z3fold_alloc alexs
2024-06-21 5:46 ` [PATCH 11/15] mm/z3fold: use zpdesc in z3fold_alloc alexs
2024-06-21 5:46 ` [PATCH 12/15] mm/z3fold: use zpdesc in free_z3fold_page and z3fold_free alexs
2024-06-21 5:46 ` [PATCH 13/15] mm/z3fold: use zpdesc in z3fold_map/z3fold_unmap alexs
2024-06-21 5:46 ` [PATCH 14/15] mm/z3fold: introduce __zpdesc_set_movable alexs
2024-06-21 5:46 ` [PATCH 15/15] mm/z3fold: introduce __zpdesc_clear_movable alexs
2024-06-21 6:43 ` [PATCH 00/15] add zpdesc memory descriptor for zswap.zpool Alex Shi
2024-06-24 21:46 ` Yosry Ahmed
2024-06-25 8:11 ` Alex Shi [this message]
2024-06-25 9:28 ` Hyeonggon Yoo
2024-06-25 13:39 ` Alex Shi
2024-06-25 10:30 ` Yosry Ahmed
2024-06-25 13:44 ` Alex Shi
2024-06-25 17:22 ` Nhat Pham
2024-06-25 21:02 ` Yosry Ahmed
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=2e9ce344-e25f-41e0-8ca4-b6d80e095735@gmail.com \
--to=seakeel@gmail.com \
--cc=42.hyeyoo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alexs@kernel.org \
--cc=david@redhat.com \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=senozhatsky@chromium.org \
--cc=vitaly.wool@konsulko.com \
--cc=willy@infradead.org \
--cc=yosryahmed@google.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