Let's fixup the comment, documenting how free_one_page_maybe_split()
comes into play.
Signed-off-by: David Hildenbrand <david@redhat.com>
---
mm/page_isolation.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index c608e9d728655..63fddf283e681 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -298,11 +298,10 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages)
* pagelbocks.
* [ MAX_PAGE_ORDER ]
* [ pageblock0 | pageblock1 ]
- * When either pageblock is isolated, if it is a free page, the page is not
- * split into separate migratetype lists, which is supposed to; if it is an
- * in-use page and freed later, __free_one_page() does not split the free page
- * either. The function handles this by splitting the free page or migrating
- * the in-use page then splitting the free page.
+ * When either pageblock is isolated, if it is an in-use page and freed later,
+ * __free_one_page_maybe_split() will split the free page if required. If the
+ * page is already free, this function handles this by splitting the free page
+ * through move_freepages_block_isolate()->__free_one_page_maybe_split().
*/
static int isolate_single_pageblock(unsigned long boundary_pfn, int flags,
bool isolate_before, bool skip_isolation, int migratetype)
--
2.47.1
On 12/6/24 10:59, David Hildenbrand wrote: > Let's fixup the comment, documenting how free_one_page_maybe_split() > comes into play. > > Signed-off-by: David Hildenbrand <david@redhat.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> > --- > mm/page_isolation.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index c608e9d728655..63fddf283e681 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -298,11 +298,10 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) > * pagelbocks. > * [ MAX_PAGE_ORDER ] > * [ pageblock0 | pageblock1 ] > - * When either pageblock is isolated, if it is a free page, the page is not > - * split into separate migratetype lists, which is supposed to; if it is an > - * in-use page and freed later, __free_one_page() does not split the free page > - * either. The function handles this by splitting the free page or migrating > - * the in-use page then splitting the free page. > + * When either pageblock is isolated, if it is an in-use page and freed later, > + * __free_one_page_maybe_split() will split the free page if required. If the > + * page is already free, this function handles this by splitting the free page > + * through move_freepages_block_isolate()->__free_one_page_maybe_split(). > */ > static int isolate_single_pageblock(unsigned long boundary_pfn, int flags, > bool isolate_before, bool skip_isolation, int migratetype)
On 6 Dec 2024, at 4:59, David Hildenbrand wrote: > Let's fixup the comment, documenting how free_one_page_maybe_split() > comes into play. > > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > mm/page_isolation.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index c608e9d728655..63fddf283e681 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -298,11 +298,10 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) > * pagelbocks. > * [ MAX_PAGE_ORDER ] > * [ pageblock0 | pageblock1 ] > - * When either pageblock is isolated, if it is a free page, the page is not > - * split into separate migratetype lists, which is supposed to; if it is an > - * in-use page and freed later, __free_one_page() does not split the free page > - * either. The function handles this by splitting the free page or migrating > - * the in-use page then splitting the free page. > + * When either pageblock is isolated, if it is an in-use page and freed later, > + * __free_one_page_maybe_split() will split the free page if required. If the > + * page is already free, this function handles this by splitting the free page > + * through move_freepages_block_isolate()->__free_one_page_maybe_split(). > */ > static int isolate_single_pageblock(unsigned long boundary_pfn, int flags, > bool isolate_before, bool skip_isolation, int migratetype) LGTM. Reviewed-by: Zi Yan <ziy@nvidia.com> Best Regards, Yan, Zi
© 2016 - 2025 Red Hat, Inc.