[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <C9E1C776-3861-40EB-A0DC-E2B849F9EF9A@nvidia.com>
Date: Thu, 07 Mar 2024 10:06:48 -0500
From: Zi Yan <ziy@...dia.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org,
"\"Pankaj Raghav (Samsung)\"" <kernel@...kajraghav.com>,
Zi Yan <ziy@...dia.com>, "\"Matthew Wilcox (Oracle)\"" <willy@...radead.org>,
David Hildenbrand <david@...hat.com>, Yang Shi <shy828301@...il.com>,
Yu Zhao <yuzhao@...gle.com>,
"\"Kirill A . Shutemov\"" <kirill.shutemov@...ux.intel.com>,
Ryan Roberts <ryan.roberts@....com>,
"Michal Koutný" <mkoutny@...e.com>,
Roman Gushchin <roman.gushchin@...ux.dev>,
"\"Zach O'Keefe\"" <zokeefe@...gle.com>, Hugh Dickins <hughd@...gle.com>,
Luis Chamberlain <mcgrof@...nel.org>, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kselftest@...r.kernel.org, Dan Carpenter <dan.carpenter@...aro.org>
Subject: Re: [PATCH v5 8/8] mm: huge_memory: enable debugfs to split huge
pages to any order.
On 26 Feb 2024, at 15:55, Zi Yan wrote:
> From: Zi Yan <ziy@...dia.com>
>
> It is used to test split_huge_page_to_list_to_order for pagecache THPs.
> Also add test cases for split_huge_page_to_list_to_order via both
> debugfs.
>
> Signed-off-by: Zi Yan <ziy@...dia.com>
> ---
> mm/huge_memory.c | 34 ++++--
> .../selftests/mm/split_huge_page_test.c | 115 +++++++++++++++++-
> 2 files changed, 131 insertions(+), 18 deletions(-)
Hi Andrew,
This is the fixup for patch 8. It is based on the discussion
with Dan Carpenter at https://lore.kernel.org/linux-mm/7dda9283-b437-4cf8-ab0d-83c330deb9c0@moroto.mountain/. It checks new_order input from
debugfs and skips folios early if new_order is greater than the folio order.
Thanks.
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index a81a09236c16..42d4f62d7760 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -3484,6 +3484,9 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start,
goto next;
total++;
+
+ if (new_order >= folio_order(folio))
+ goto next;
/*
* For folios with private, split_huge_page_to_list_to_order()
* will try to drop it before split and then check if the folio
@@ -3550,6 +3553,9 @@ static int split_huge_pages_in_file(const char *file_path, pgoff_t off_start,
total++;
nr_pages = folio_nr_pages(folio);
+ if (new_order >= folio_order(folio))
+ goto next;
+
if (!folio_trylock(folio))
goto next;
--
Best Regards,
Yan, Zi
Download attachment "signature.asc" of type "application/pgp-signature" (855 bytes)
Powered by blists - more mailing lists