On 2019/11/5 14:33, Michal Hocko wrote: > On Sat 02-11-19 15:36:55, zhong jiang wrote: >> On 2019/11/2 2:32, Michal Hocko wrote: > [...] >>> But I would really appreciate to add a comment for the BUG_ON and >>> explain why do we care about PageUnevictable so much when there is an >>> explicit page_evictable check in the reclaim path. In other words a >>> short summary of what Johannes explained in >>> http://lkml.kernel.org/r/20191030193307.GA48128@xxxxxxxxxxx. Maybe in a >>> separate patch. Care to send one or should I send it? >> Hi, Michal >> >> Actually, I am not very clear about the words Johannes had said. How the race to >> tirgger, it will result in an PgeMlocked page can be visible in shrink_page_list. >> >> Could you elaborate the race in detail further ? > I would go with the following comment > > /* > * Page reclaim can see !page_evictable(), but it must not see pages that > * have the PageUnevictable lru bit already set. See __pagevec_lru_add_fn() > * for more details. > */ But the detail still confuses me in __pagevec_lru_add_fn() to see PageMlocked in vmscan :-\ .