[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c3f60e2d-8355-46ec-845e-0893dbe5e4f9@gmail.com>
Date: Fri, 9 Aug 2024 10:32:39 +0800
From: Alex Shi <seakeel@...il.com>
To: Matthew Wilcox <willy@...radead.org>,
Sergey Senozhatsky <senozhatsky@...omium.org>
Cc: Yosry Ahmed <yosryahmed@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>, alexs@...nel.org,
Vitaly Wool <vitaly.wool@...sulko.com>, Miaohe Lin <linmiaohe@...wei.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org, minchan@...nel.org,
david@...hat.com, 42.hyeyoo@...il.com, nphamcs@...il.com
Subject: Re: [PATCH v5 00/21] mm/zsmalloc: add zpdesc memory descriptor for
zswap.zpool
On 8/8/24 11:37 AM, Matthew Wilcox wrote:
> I've written about it here:
> https://kernelnewbies.org/MatthewWilcox/Memdescs
> https://kernelnewbies.org/MatthewWilcox/FolioAlloc
> https://kernelnewbies.org/MatthewWilcox/Memdescs/Path
Thanks for sharing!
>
>> So I guess if we have something
>>
>> struct zspage {
>> ..
>> struct zpdesc *first_desc;
>> ..
>> }
>>
>> and we "chain" zpdesc-s to form a zspage, and make each of them point to
>> a corresponding struct page (memdesc -> *page), then it'll resemble current
>> zsmalloc and should work for everyone? I also assume for zspdesc-s zsmalloc
>> will need to maintain a dedicated kmem_cache?
> Right, we could do that. Each memdesc has to be a multiple of 16 bytes,
> sp we'd be doing something like allocating 32 bytes for each page.
> Is there really 32 bytes of information that we want to store for
> each page? Or could we store all of the information in (a somewhat
> larger) zspage? Assuming we allocate 3 pages per zspage, if we allocate
> an extra 64 bytes in the zspage, we've saved 32 bytes per zspage.
Thanks for the suggestions! Yes, it's a good direction we could try after this
patchset.
Thanks for you all!
Powered by blists - more mailing lists