Re: [PATCH 7/7] mm,hwpoison: Remove drain_all_pages from shake_page

From: Oscar Salvador
Date: Fri Nov 27 2020 - 02:20:32 EST


On Thu, Nov 26, 2020 at 02:52:32PM +0100, Vlastimil Babka wrote:
> > @@ -275,9 +275,6 @@ void shake_page(struct page *p, int access)
> > lru_add_drain_all();
> > if (PageLRU(p))
> > return;
> > - drain_all_pages(page_zone(p));
> > - if (PageLRU(p) || is_free_buddy_page(p))
> > - return;
>
> I wonder if page in the lru pagevec can in fact become free after draining
> the lru - in that case we could keep the is_free_buddy_page() check.

Uhm, yes, I think it can happen.
After all, once the page hits one of the inactives' LRU it can be
reclaimed.

I am fine with joining the left PageLRU and is_free_buddy_page check.

Will do that in the next revision.

Thanks!

--
Oscar Salvador
SUSE L3