On Thu 14-05-15 12:31:49, Cyril Hrubis wrote: [...] > Looking at the code, it does two more things here: > > echo $pid > tasks > kill -s USR1 $pid 2> /dev/null > > Sending SIGUSR1 to the memcg_process causes it to repeat the allocation > that has been passed to it by the command line parameters. > > So my guess is that it expect the force_empty to fail if the process has > allocated some memory after it has been moved to the current cgroup. force_empty fails if the memcg cannot be reclaimed down to 0. The memory charged after the task has moved to the group is easily reclaimable so I do not see any reason why we would fail here. > The previous testcases does exactly this but moves the process to the > parent with: > > echo $pid > ../tasks > > Before it tries the force_empty and expects it to succeed. > > Was this some old implementation limitation that has been lifted > meanwhile? OK, now I remember... f61c42a7d911 ("memcg: remove tasks/children test from mem_cgroup_force_empty()") which goes back to 3.16. So the test case is invalid. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>