On Fri, 11 Feb 2022, Vlastimil Babka wrote: > On 2/6/22 22:40, Hugh Dickins wrote: > > @@ -115,6 +116,7 @@ void lruvec_add_folio_tail(struct lruvec *lruvec, struct folio *folio) > > > > update_lru_size(lruvec, lru, folio_zonenum(folio), > > folio_nr_pages(folio)); > > + /* This is not expected to be used on LRU_UNEVICTABLE */ > > Felt uneasy about this at first because it's just a _tail version of > lruvec_add_folio, and there's probably nothing fundamental about the users > of _tail to not encounter unevictable pages. But if the assumption is ever > violated, the poisoned list head should make it immediately clear, so I > guess that's fine. Yes, I could have made that one check against LRU_UNEVICTABLE too, but thought we would rather see the crash on the poisoned list head: since specifically choosing the tail of an unordered (and imaginary) list raises questions - it might turn out to be best permitted, it might turn out to require a rethink; but until there is a case, let's crash on it. Hugh