On Fri 08-04-22 05:40:09, Nico Pache wrote: > > > On 4/8/22 05:36, Michal Hocko wrote: > > On Fri 08-04-22 04:52:33, Nico Pache wrote: > > [...] > >> In a heavily contended CPU with high memory pressure the delay may also > >> lead to other processes unnecessarily OOMing. > > > > Let me just comment on this part because there is likely a confusion > > inlved. Delaying the oom_reaper _cannot_ lead to additional OOM killing > > because the the oom killing is throttled by existence of a preexisting > > OOM victim. In other words as long as there is an alive victim no > > further victims are not selected and the oom killer backs off. The > > oom_repaer will hide the alive oom victim after it is processed. > > The longer the delay will be the longer an oom victim can block a > > further progress but it cannot really cause unnecessary OOMing. > Is it not the case that if we delay an OOM, the amount of available memory stays > limited and other processes that are allocating memory can become OOM candidates? No. Have a look at oom_evaluate_task (tsk_is_oom_victim check). -- Michal Hocko SUSE Labs