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

From: Chris Down
Date: Wed Sep 09 2020 - 05:59:26 EST


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? :-)

Thanks,

Chris