[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <250ce8a5-8f2c-4d29-b73b-ea9a117598f0@linux.alibaba.com>
Date: Thu, 27 Feb 2025 11:43:24 +0800
From: Baolin Wang <baolin.wang@...ux.alibaba.com>
To: Zi Yan <ziy@...dia.com>, Matthew Wilcox <willy@...radead.org>,
linux-mm@...ck.org, linux-fsdevel@...r.kernel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>, Hugh Dickins
<hughd@...gle.com>, Kairui Song <kasong@...cent.com>,
Miaohe Lin <linmiaohe@...wei.com>, linux-kernel@...r.kernel.org,
David Hildenbrand <david@...hat.com>, John Hubbard <jhubbard@...dia.com>,
Kefeng Wang <wangkefeng.wang@...wei.com>,
"Kirill A. Shuemov" <kirill.shutemov@...ux.intel.com>,
Ryan Roberts <ryan.roberts@....com>, Yang Shi <yang@...amperecomputing.com>,
Yu Zhao <yuzhao@...gle.com>
Subject: Re: [PATCH v3 2/2] mm/shmem: use xas_try_split() in
shmem_split_large_entry()
On 2025/2/27 05:08, Zi Yan wrote:
> During shmem_split_large_entry(), large swap entries are covering n slots
> and an order-0 folio needs to be inserted.
>
> Instead of splitting all n slots, only the 1 slot covered by the folio
> need to be split and the remaining n-1 shadow entries can be retained with
> orders ranging from 0 to n-1. This method only requires
> (n/XA_CHUNK_SHIFT) new xa_nodes instead of (n % XA_CHUNK_SHIFT) *
> (n/XA_CHUNK_SHIFT) new xa_nodes, compared to the original
> xas_split_alloc() + xas_split() one.
>
> For example, to split an order-9 large swap entry (assuming XA_CHUNK_SHIFT
> is 6), 1 xa_node is needed instead of 8.
>
> xas_try_split_min_order() is used to reduce the number of calls to
> xas_try_split() during split.
>
> Signed-off-by: Zi Yan <ziy@...dia.com>
> Cc: Baolin Wang <baolin.wang@...ux.alibaba.com>
> Cc: Hugh Dickins <hughd@...gle.com>
> Cc: Kairui Song <kasong@...cent.com>
> Cc: Mattew Wilcox <willy@...radead.org>
> Cc: Miaohe Lin <linmiaohe@...wei.com>
> Cc: David Hildenbrand <david@...hat.com>
> Cc: John Hubbard <jhubbard@...dia.com>
> Cc: Kefeng Wang <wangkefeng.wang@...wei.com>
> Cc: Kirill A. Shuemov <kirill.shutemov@...ux.intel.com>
> Cc: Ryan Roberts <ryan.roberts@....com>
> Cc: Yang Shi <yang@...amperecomputing.com>
> Cc: Yu Zhao <yuzhao@...gle.com> > ---
LGTM. Feel free to add:
Reviewed-by: Baolin Wang <baolin.wang@...ux.alibaba.com>
Tested-by: Baolin Wang <baolin.wang@...ux.alibaba.com>
Powered by blists - more mailing lists