<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Petr,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 16, 2021 at 3:50 PM Petr Vorel <<a href="mailto:pvorel@suse.cz">pvorel@suse.cz</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">Hi Li,<br>
<br>
> This introduces function to LTP for adjusting the oom_score_adj of<br>
> target process, which may be helpful in OOM tests to prevent kernel<br>
> killing the main or lib process during test running.<br>
very good idea.<br>
<br>
Reviewed-by: Petr Vorel <<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>><br>
<br>
> The exported global tst_enable_oom_protection function can be used<br>
> at anywhere you want to protect, but please remember that if you<br>
> do enable protection on a process($PID) that all the children will<br>
> inherit its score and be ignored by OOM Killer as well. So that's<br>
> why tst_cancel_oom_protection is recommended to combination in use.<br>
<br>
BTW deliberately not documenting it as it should not be commonly<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Yes, actually it's not a commendatory API to users, and I think</div><div class="gmail_default" style="font-size:small">we do really avoid using it unless we have no better choice.</div><div class="gmail_default" style="font-size:small">(at least for OOM tests I can tell this)</div><div class="gmail_default" style="font-size:small">The main reason we use it is current kernel OOM is not very</div><div class="gmail_default" style="font-size:small">perfect, we just use it to help get the completed log for LTP.</div><br></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">
used in tests? Also although oom_score_adj inheritance should be known to<br>
person who will want to add it somewhere, I'd move it from commit message to<br>
source code (into header docs or or C API doc).<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Sounds reasonable, will add this in V2.</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>
> +static void set_oom_score_adj(pid_t pid, int value)<br>
> +{<br>
> +     int val;<br>
> +     char score_path[64];<br>
> +<br>
> +     if (access("/proc/self/oom_score_adj", F_OK) == -1) {<br>
> +             tst_res(TINFO, "Warning: oom_score_adj is not exist");<br>
nit: IMHO "does not exist" or just "not exist"<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Agree.</div></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>