mm: fix a wrong flag in set_migratetype_isolate()
diff mbox series

Message ID 20190313212507.49852-1-cai@lca.pw
State New
Headers show
Series
  • mm: fix a wrong flag in set_migratetype_isolate()
Related show

Commit Message

Qian Cai March 13, 2019, 9:25 p.m. UTC
Due to has_unmovable_pages() takes an incorrect irqsave flag instead of
the isolation flag in set_migratetype_isolate(), it causes issues with
HWPOSION and error reporting where dump_page() is not called when there
is an unmoveable page.

Fixes: d381c54760dc ("mm: only report isolation failures when offlining memory")
Signed-off-by: Qian Cai <cai@lca.pw>
---
 mm/page_isolation.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Michal Hocko March 14, 2019, 6:27 a.m. UTC | #1
On Wed 13-03-19 17:25:07, Qian Cai wrote:
> Due to has_unmovable_pages() takes an incorrect irqsave flag instead of
> the isolation flag in set_migratetype_isolate(), it causes issues with
> HWPOSION and error reporting where dump_page() is not called when there
> is an unmoveable page.
> 
> Fixes: d381c54760dc ("mm: only report isolation failures when offlining memory")

Cc: stable # 5.0
> Signed-off-by: Qian Cai <cai@lca.pw>

Very well spotted!

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  mm/page_isolation.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
> index bf67b63227ca..0f5c92fdc7f1 100644
> --- a/mm/page_isolation.c
> +++ b/mm/page_isolation.c
> @@ -59,7 +59,8 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
>  	 * FIXME: Now, memory hotplug doesn't call shrink_slab() by itself.
>  	 * We just check MOVABLE pages.
>  	 */
> -	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype, flags))
> +	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype,
> +				 isol_flags))
>  		ret = 0;
>  
>  	/*
> -- 
> 2.17.2 (Apple Git-113)
Oscar Salvador March 14, 2019, 7:55 a.m. UTC | #2
On Wed, Mar 13, 2019 at 05:25:07PM -0400, Qian Cai wrote:
> Due to has_unmovable_pages() takes an incorrect irqsave flag instead of
> the isolation flag in set_migratetype_isolate(), it causes issues with
> HWPOSION and error reporting where dump_page() is not called when there
> is an unmoveable page.
> 
> Fixes: d381c54760dc ("mm: only report isolation failures when offlining memory")
> Signed-off-by: Qian Cai <cai@lca.pw>

Reviewed-by: Oscar Salvador <osalvador@suse.de>

> ---
>  mm/page_isolation.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
> index bf67b63227ca..0f5c92fdc7f1 100644
> --- a/mm/page_isolation.c
> +++ b/mm/page_isolation.c
> @@ -59,7 +59,8 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
>  	 * FIXME: Now, memory hotplug doesn't call shrink_slab() by itself.
>  	 * We just check MOVABLE pages.
>  	 */
> -	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype, flags))
> +	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype,
> +				 isol_flags))
>  		ret = 0;
>  
>  	/*
> -- 
> 2.17.2 (Apple Git-113)
>

Patch
diff mbox series

diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index bf67b63227ca..0f5c92fdc7f1 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -59,7 +59,8 @@  static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
 	 * FIXME: Now, memory hotplug doesn't call shrink_slab() by itself.
 	 * We just check MOVABLE pages.
 	 */
-	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype, flags))
+	if (!has_unmovable_pages(zone, page, arg.pages_found, migratetype,
+				 isol_flags))
 		ret = 0;
 
 	/*