On Tue 05-11-19 20:28:58, zhong jiang wrote: > 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 :-\ . Which part does confuse you exactly? -- Michal Hocko SUSE Labs