Message ID | 20190313212507.49852-1-cai@lca.pw (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm: fix a wrong flag in set_migratetype_isolate() | expand |
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)
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) >
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; /*
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(-)