* [PATCH v2 0/2] mm/memory_hotplug: cleanup do_migrate_range() @ 2023-02-15 23:02 SeongJae Park 2023-02-15 23:02 ` [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() SeongJae Park 2023-02-15 23:03 ` [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() SeongJae Park 0 siblings, 2 replies; 8+ messages in thread From: SeongJae Park @ 2023-02-15 23:02 UTC (permalink / raw) To: Andrew Morton Cc: SeongJae Park, David Hildenbrand, Oscar Salvador, linux-mm, linux-kernel Make do_migrate_range() return value mechanism simple. Changes from v1 (https://lore.kernel.org/linux-mm/20230214223236.58430-1-sj@kernel.org/) - Simply return nothing from do_migrate_range() (David Hildenbrand) - Add a cleanup for 'ret' variable SeongJae Park (2): mm/memory_hotplug: return nothing from do_migrate_range() mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() mm/memory_hotplug.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() 2023-02-15 23:02 [PATCH v2 0/2] mm/memory_hotplug: cleanup do_migrate_range() SeongJae Park @ 2023-02-15 23:02 ` SeongJae Park 2023-02-16 9:46 ` David Hildenbrand 2023-02-16 10:53 ` Baolin Wang 2023-02-15 23:03 ` [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() SeongJae Park 1 sibling, 2 replies; 8+ messages in thread From: SeongJae Park @ 2023-02-15 23:02 UTC (permalink / raw) To: Andrew Morton Cc: SeongJae Park, David Hildenbrand, Oscar Salvador, linux-mm, linux-kernel Return value mechanism of do_migrate_range() is not very simple, while no caller of the function checks the return value. Make the function return nothing to be more simple. Suggested-by: David Hildenbrand <david@redhat.com> Signed-off-by: SeongJae Park <sj@kernel.org> --- mm/memory_hotplug.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index bcb0dc41c2f2..6c615ba1a5c7 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1620,8 +1620,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, return 0; } -static int -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) { unsigned long pfn; struct page *page, *head; @@ -1721,8 +1720,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) putback_movable_pages(&source); } } - - return ret; } static int __init cmdline_parse_movable_node(char *p) -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() 2023-02-15 23:02 ` [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() SeongJae Park @ 2023-02-16 9:46 ` David Hildenbrand 2023-02-16 16:51 ` SeongJae Park 2023-02-16 10:53 ` Baolin Wang 1 sibling, 1 reply; 8+ messages in thread From: David Hildenbrand @ 2023-02-16 9:46 UTC (permalink / raw) To: SeongJae Park, Andrew Morton; +Cc: Oscar Salvador, linux-mm, linux-kernel On 16.02.23 00:02, SeongJae Park wrote: > Return value mechanism of do_migrate_range() is not very simple, while > no caller of the function checks the return value. Make the function > return nothing to be more simple. > > Suggested-by: David Hildenbrand <david@redhat.com> > Signed-off-by: SeongJae Park <sj@kernel.org> > --- > mm/memory_hotplug.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index bcb0dc41c2f2..6c615ba1a5c7 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1620,8 +1620,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, > return 0; > } > > -static int > -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > { > unsigned long pfn; > struct page *page, *head; > @@ -1721,8 +1720,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > putback_movable_pages(&source); > } > } > - > - return ret; > } I think this patch should also stop initializing ret = 0 inside that function. With that Acked-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() 2023-02-16 9:46 ` David Hildenbrand @ 2023-02-16 16:51 ` SeongJae Park 0 siblings, 0 replies; 8+ messages in thread From: SeongJae Park @ 2023-02-16 16:51 UTC (permalink / raw) To: David Hildenbrand Cc: SeongJae Park, Andrew Morton, Oscar Salvador, linux-mm, linux-kernel Hi David, On Thu, 16 Feb 2023 10:46:59 +0100 David Hildenbrand <david@redhat.com> wrote: > On 16.02.23 00:02, SeongJae Park wrote: > > Return value mechanism of do_migrate_range() is not very simple, while > > no caller of the function checks the return value. Make the function > > return nothing to be more simple. > > > > Suggested-by: David Hildenbrand <david@redhat.com> > > Signed-off-by: SeongJae Park <sj@kernel.org> > > --- > > mm/memory_hotplug.c | 5 +---- > > 1 file changed, 1 insertion(+), 4 deletions(-) > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > index bcb0dc41c2f2..6c615ba1a5c7 100644 > > --- a/mm/memory_hotplug.c > > +++ b/mm/memory_hotplug.c > > @@ -1620,8 +1620,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, > > return 0; > > } > > > > -static int > > -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > { > > unsigned long pfn; > > struct page *page, *head; > > @@ -1721,8 +1720,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > putback_movable_pages(&source); > > } > > } > > - > > - return ret; > > } > > I think this patch should also stop initializing ret = 0 inside that > function. The second patch does it, and I read your reply to the patch asking squashing it in this one. I will send the new version soon. > > With that > > Acked-by: David Hildenbrand <david@redhat.com> Thanks you. Thanks, SJ > > -- > Thanks, > > David / dhildenb > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() 2023-02-15 23:02 ` [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() SeongJae Park 2023-02-16 9:46 ` David Hildenbrand @ 2023-02-16 10:53 ` Baolin Wang 2023-02-16 16:55 ` SeongJae Park 1 sibling, 1 reply; 8+ messages in thread From: Baolin Wang @ 2023-02-16 10:53 UTC (permalink / raw) To: SeongJae Park, Andrew Morton Cc: David Hildenbrand, Oscar Salvador, linux-mm, linux-kernel On 2/16/2023 7:02 AM, SeongJae Park wrote: > Return value mechanism of do_migrate_range() is not very simple, while > no caller of the function checks the return value. Make the function > return nothing to be more simple. > > Suggested-by: David Hildenbrand <david@redhat.com> > Signed-off-by: SeongJae Park <sj@kernel.org> > --- > mm/memory_hotplug.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index bcb0dc41c2f2..6c615ba1a5c7 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1620,8 +1620,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, > return 0; > } > > -static int > -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > { > unsigned long pfn; > struct page *page, *head; > @@ -1721,8 +1720,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > putback_movable_pages(&source); > } > } > - > - return ret; Nit: while we are at it, can we also remove the "TODO" comment in offline_pages()? ret = scan_movable_pages(pfn, end_pfn, &pfn); if (!ret) { /* * TODO: fatal migration failures should bail * out */ do_migrate_range(pfn, end_pfn); } With David's comments: Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() 2023-02-16 10:53 ` Baolin Wang @ 2023-02-16 16:55 ` SeongJae Park 0 siblings, 0 replies; 8+ messages in thread From: SeongJae Park @ 2023-02-16 16:55 UTC (permalink / raw) To: Baolin Wang Cc: SeongJae Park, Andrew Morton, David Hildenbrand, Oscar Salvador, linux-mm, linux-kernel Hi Baolin, On Thu, 16 Feb 2023 18:53:34 +0800 Baolin Wang <baolin.wang@linux.alibaba.com> wrote: > > > On 2/16/2023 7:02 AM, SeongJae Park wrote: > > Return value mechanism of do_migrate_range() is not very simple, while > > no caller of the function checks the return value. Make the function > > return nothing to be more simple. > > > > Suggested-by: David Hildenbrand <david@redhat.com> > > Signed-off-by: SeongJae Park <sj@kernel.org> > > --- > > mm/memory_hotplug.c | 5 +---- > > 1 file changed, 1 insertion(+), 4 deletions(-) > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > index bcb0dc41c2f2..6c615ba1a5c7 100644 > > --- a/mm/memory_hotplug.c > > +++ b/mm/memory_hotplug.c > > @@ -1620,8 +1620,7 @@ static int scan_movable_pages(unsigned long start, unsigned long end, > > return 0; > > } > > > > -static int > > -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > { > > unsigned long pfn; > > struct page *page, *head; > > @@ -1721,8 +1720,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > > putback_movable_pages(&source); > > } > > } > > - > > - return ret; > > Nit: while we are at it, can we also remove the "TODO" comment in > offline_pages()? > > ret = scan_movable_pages(pfn, end_pfn, &pfn); > if (!ret) { > /* > * TODO: fatal migration failures should bail > * out > */ > do_migrate_range(pfn, end_pfn); > } > > With David's comments: > Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> As David mentioned we're just still unclear what issues are fatal[1], I was thinking we didn't forgive the future work, so left the comment. If anyone has different opinion or I'm getting something wrong, please let me know. [1] https://lore.kernel.org/linux-mm/388b9a93-423f-33f8-0495-2a4a290fd1aa@redhat.com/ Thanks, SJ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() 2023-02-15 23:02 [PATCH v2 0/2] mm/memory_hotplug: cleanup do_migrate_range() SeongJae Park 2023-02-15 23:02 ` [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() SeongJae Park @ 2023-02-15 23:03 ` SeongJae Park 2023-02-16 9:49 ` David Hildenbrand 1 sibling, 1 reply; 8+ messages in thread From: SeongJae Park @ 2023-02-15 23:03 UTC (permalink / raw) To: Andrew Morton Cc: SeongJae Park, David Hildenbrand, Oscar Salvador, linux-mm, linux-kernel Because do_migrate_range() is returning nothing, some 'ret' variable usages are unnecessary. Remove unnecessary usage and reduce its scope. Signed-off-by: SeongJae Park <sj@kernel.org> --- mm/memory_hotplug.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 6c615ba1a5c7..6df3072d11df 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1624,7 +1624,6 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) { unsigned long pfn; struct page *page, *head; - int ret = 0; LIST_HEAD(source); static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST); @@ -1678,7 +1677,6 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) page_is_file_lru(page)); } else { - ret = -EBUSY; if (__ratelimit(&migrate_rs)) { pr_warn("failed to isolate pfn %lx\n", pfn); dump_page(page, "isolation failed"); @@ -1692,6 +1690,7 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) .nmask = &nmask, .gfp_mask = GFP_USER | __GFP_MOVABLE | __GFP_RETRY_MAYFAIL, }; + int ret; /* * We have checked that migration range is on a single zone so -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() 2023-02-15 23:03 ` [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() SeongJae Park @ 2023-02-16 9:49 ` David Hildenbrand 0 siblings, 0 replies; 8+ messages in thread From: David Hildenbrand @ 2023-02-16 9:49 UTC (permalink / raw) To: SeongJae Park, Andrew Morton; +Cc: Oscar Salvador, linux-mm, linux-kernel On 16.02.23 00:03, SeongJae Park wrote: > Because do_migrate_range() is returning nothing, some 'ret' variable > usages are unnecessary. Remove unnecessary usage and reduce its scope. > > Signed-off-by: SeongJae Park <sj@kernel.org> > --- > mm/memory_hotplug.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 6c615ba1a5c7..6df3072d11df 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1624,7 +1624,6 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > { > unsigned long pfn; > struct page *page, *head; > - int ret = 0; > LIST_HEAD(source); > static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL, > DEFAULT_RATELIMIT_BURST); > @@ -1678,7 +1677,6 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > page_is_file_lru(page)); > > } else { > - ret = -EBUSY; > if (__ratelimit(&migrate_rs)) { > pr_warn("failed to isolate pfn %lx\n", pfn); > dump_page(page, "isolation failed"); > @@ -1692,6 +1690,7 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > .nmask = &nmask, > .gfp_mask = GFP_USER | __GFP_MOVABLE | __GFP_RETRY_MAYFAIL, > }; > + int ret; > > /* > * We have checked that migration range is on a single zone so Please squash that into the previous patch, just calling it "mm/memory_hotplug: cleanup return value handling in do_migrate_range()" or similar. -- Thanks, David / dhildenb ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-02-16 16:55 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-02-15 23:02 [PATCH v2 0/2] mm/memory_hotplug: cleanup do_migrate_range() SeongJae Park 2023-02-15 23:02 ` [PATCH v2 1/2] mm/memory_hotplug: return nothing from do_migrate_range() SeongJae Park 2023-02-16 9:46 ` David Hildenbrand 2023-02-16 16:51 ` SeongJae Park 2023-02-16 10:53 ` Baolin Wang 2023-02-16 16:55 ` SeongJae Park 2023-02-15 23:03 ` [PATCH v2 2/2] mm/memory_hotplug: cleanup 'ret' variable usage in do_migrate_range() SeongJae Park 2023-02-16 9:49 ` David Hildenbrand
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).