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