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