Re: a question of split_huge_page

From: Matthew Wilcox
Date: Thu Jul 09 2020 - 11:50:09 EST


On Thu, Jul 09, 2020 at 11:11:11PM +0800, Alex Shi wrote:
> Hi Kirill & Matthew,
>
> In the func call chain, from split_huge_page() to lru_add_page_tail(),
> Seems tail pages are added to lru list at line 963, but in this scenario
> the head page has no lru bit and isn't set the bit later. Why we do this?
> or do I miss sth?

I don't understand how we get to split_huge_page() with a page that's
not on an LRU list. Both anonymous and page cache pages should be on
an LRU list. What am I missing?