[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240501160803.60988-1-sj@kernel.org>
Date: Wed, 1 May 2024 09:08:03 -0700
From: SeongJae Park <sj@...nel.org>
To: Lance Yang <ioworker0@...il.com>
Cc: SeongJae Park <sj@...nel.org>,
akpm@...ux-foundation.org,
willy@...radead.org,
maskray@...gle.com,
ziy@...dia.com,
ryan.roberts@....com,
david@...hat.com,
21cnbao@...il.com,
mhocko@...e.com,
fengwei.yin@...el.com,
zokeefe@...gle.com,
shy828301@...il.com,
xiehuan09@...il.com,
libang.li@...group.com,
wangkefeng.wang@...wei.com,
songmuchun@...edance.com,
peterx@...hat.com,
minchan@...nel.org,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 0/3] Reclaim lazyfree THP without splitting
Hi Lance,
On Wed, 1 May 2024 12:26:57 +0800 Lance Yang <ioworker0@...il.com> wrote:
> Hi all,
>
> This series adds support for reclaiming PMD-mapped THP marked as lazyfree
> without needing to first split the large folio via split_huge_pmd_address().
>
> When the user no longer requires the pages, they would use madvise(MADV_FREE)
> to mark the pages as lazy free. Subsequently, they typically would not re-write
> to that memory again.
>
> During memory reclaim, if we detect that the large folio and its PMD are both
> still marked as clean and there are no unexpected references(such as GUP), so we
> can just discard the memory lazily, improving the efficiency of memory
> reclamation in this case.
>
> Performance Testing
> ===================
>
> On an Intel i5 CPU, reclaiming 1GiB of lazyfree THPs using
> mem_cgroup_force_empty() results in the following runtimes in seconds
> (shorter is better):
>
> --------------------------------------------
> | Old | New | Change |
> --------------------------------------------
> | 0.683426 | 0.049197 | -92.80% |
> --------------------------------------------
>
> ---
>
> Changes since v3 [3]
> ====================
> - mm/rmap: integrate PMD-mapped folio splitting into pagewalk loop
> - Resolve compilation errors by handling the case where
> CONFIG_PGTABLE_HAS_HUGE_LEAVES is undefined (thanks to SeongJae Park)
I confirmed that the issue I reported before is disappeared with this version
of the patchset. For the fix,
Tested-by: SeongJae Park <sj@...nel.org>
Thanks,
SJ
[...]
Powered by blists - more mailing lists