Re: [PATCH] mm: memory_hotplug: put migration failure information under DEBUG_VM
From: Michal Hocko
Date: Mon Nov 23 2020 - 09:14:25 EST
On Mon 23-11-20 19:33:16, Charan Teja Reddy wrote:
> When the pages are failed to get isolate or migrate, the page owner
> information along with page info is dumped. If there are continuous
> failures in migration(say page is pinned) or isolation, the log buffer
> is simply getting flooded with the page owner information. As most of
> the times page info is sufficient to know the causes for failures of
> migration or isolation, place the page owner information under DEBUG_VM.
I do not see why this path is any different from others that call
dump_page. Page owner can add a very valuable information to debug
the underlying reasons for failures here. It is an opt-in debugging
feature which needs to be enabled explicitly. So I would argue users
are ready to accept a lot of data in the kernel log.
> Signed-off-by: Charan Teja Reddy <charante@xxxxxxxxxxxxxx>
> ---
> mm/memory_hotplug.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 63b2e46..f48f30d 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -1326,7 +1326,10 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
>
> } else {
> pr_warn("failed to isolate pfn %lx\n", pfn);
> - dump_page(page, "isolation failed");
> + __dump_page(page, "isolation failed");
> +#if defined(CONFIG_DEBUG_VM)
> + dump_page_owner(page);
> +#endif
> }
> put_page(page);
> }
> @@ -1357,7 +1360,10 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
> list_for_each_entry(page, &source, lru) {
> pr_warn("migrating pfn %lx failed ret:%d ",
> page_to_pfn(page), ret);
> - dump_page(page, "migration failure");
> + __dump_page(page, "migration failure");
> +#if defined(CONFIG_DEBUG_VM)
> + dump_page_owner(page);
> +#endif
> }
> putback_movable_pages(&source);
> }
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
> member of the Code Aurora Forum, hosted by The Linux Foundation
--
Michal Hocko
SUSE Labs