On Mon, Mar 04, 2024 at 10:03:13AM +0000, Borah, Chaitanya Kumar wrote: > > Could you try putting the two: > > > > - list_del(&folio->lru); > > > > statements back in and see if that fixes it? > > That seems to fix it. > > if (!folio_put_testzero(folio)) > + list_del(&folio->lru); > continue;
Ummm ... did you put { and } around this? Otherwise the indentation is misleading and what you're actually done is: if (!folio_put_testzero(folio)) list_del(&folio->lru); continue; which will simply leak memory. > if (folio_test_large(folio)) { > __folio_put_large(folio); > + list_del(&folio->lru); > continue; > } > Regards > > Chaitanya