Re: [PATCH] mm/vmscan: wake up flushers conditionally to avoid cgroup OOM
From: Andrew Morton
Date: Sun Sep 01 2024 - 18:40:33 EST
On Mon, 2 Sep 2024 04:39:24 +0800 Kairui Song <ryncsn@xxxxxxxxx> wrote:
> > > MGLRU still suffers OOM issue on latest mm tree, so the test is done
> > > with another fix merged [1].
> > >
> > > Link: https://lore.kernel.org/linux-mm/CAOUHufYi9h0kz5uW3LHHS3ZrVwEq-kKp8S6N-MZUmErNAXoXmw@xxxxxxxxxxxxxx/ [1]
> >
> > This one is already queued for -stable.
>
> I didn't see this in -unstable or -stable though, is there any other
> repo or branch I missed? Jingxiang is referring to this fix from Yu:
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index cfa839284b92..778bf5b7ef97 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -4320,7 +4320,7 @@ static bool sort_folio(struct lruvec *lruvec,
> struct folio *folio, struct scan_c
> }
>
> /* ineligible */
> - if (zone > sc->reclaim_idx || skip_cma(folio, sc)) {
> + if (!folio_test_lru(folio) || zone > sc->reclaim_idx ||
> skip_cma(folio, sc)) {
> gen = folio_inc_gen(lruvec, folio, false);
> list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]);
> return true;
I was mistaken. I don't believe we ever received a formal/usable
version of the above and the mm-hotfixes-unstable commits
Revert "mm: skip CMA pages when they are not available"
and
revert-mm-skip-cma-pages-when-they-are-not-available-update
change this code significantly.