Re: [External] Re: [PATCH] mm/vmscan: fix infinite loop in drop_slab_node

From: Muchun Song
Date: Wed Sep 09 2020 - 10:59:48 EST


On Wed, Sep 9, 2020 at 5:59 PM Chris Down <chris@xxxxxxxxxxxxxx> wrote:
>
> Muchun Song writes:
> >1. Double the threshold currently hard coded as "10" with each iteration
> > suggested by Vlastimil. It is also a good idea.
>
> I think this sounds reasonable, although I'd like to see what the difference in
> reclaim looks like in practice.
>
> >2. In the while loop, we can check whether the TASK_KILLABLE
> > signal is set, if so, we should break the loop. like the following code
> > snippe. Thanks.
> >
> >@@ -704,6 +704,9 @@ void drop_slab_node(int nid)
> > do {
> > struct mem_cgroup *memcg = NULL;
> >
> >+ if (fatal_signal_pending(current))
> >+ return;
> >+
> > freed = 0;
> > memcg = mem_cgroup_iter(NULL, NULL, NULL);
> > do {
>
> Regardless of anything, I think this is probably a good idea. Could you send it
> as a patch? :-)

OK, Will do that thanks.

>
> Thanks,
>
> Chris



--
Yours,
Muchun