<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 31, 2020 at 5:37 PM Jan Stancek <<a href="mailto:jstancek@redhat.com">jstancek@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
----- Original Message -----<br>
> <br>
> <br>
> On Fri, Jan 31, 2020 at 12:13 AM Martin Doucha < <a href="mailto:mdoucha@suse.cz" target="_blank">mdoucha@suse.cz</a> > wrote:<br>
> <br>
> <br>
> On a system with low memory, fork12 can trigger OOM killer before it hits<br>
> any fork() limits. The OOM killer might accidentally kill e.g. the parent<br>
> shell and external testing tools will assume the test failed.<br>
> <br>
> Set high oom_score_adj on the fork12 process so that the OOM killer focuses<br>
> on it and its children.<br>
> <br>
> It sounds more like the OOM-Killer defect but not fork12.<br>
<br>
Badness score is based on proportion of rss/swap. It doesn't seem like<br>
defect to me, we just quickly spawn many small tasks.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Ok, but killing the parent shell is not what we wanted anyway. Though oom killer does the right evaluation and gives a high score to the whole test framework, that will break ltp reporting.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> What we do for that<br>
> is to protect the parent shell and its harness to avoid oom_kill_process()<br>
> acting on them.<br>
> <br>
> On the other side, if we do raise the oom score of fork12, that would not<br>
> guarantee OOM-Killer do right evaluation but just makes fork12 easily to be<br>
> killed in testing.<br>
<br>
fork12 is not an OOM test, so I don't see problem with this. We only need OOM<br>
to kill something we don't care about, in case it triggers.<br>
<br>
I'd move oom_score_adj after fork, so only child processes are better target,<br>
not the parent.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Exactly, I agree with this. At least only target for the child process.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>