LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> To: David Rientjes <rientjes@google.com> Cc: Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>, Michal Hocko <mhocko@kernel.org>, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [patch] mm, oom: prevent soft lockup on memcg oom for UP systems Date: Wed, 11 Mar 2020 18:34:49 +0900 [thread overview] Message-ID: <7a6170fc-b247-e327-321a-b99fb53f552d@i-love.sakura.ne.jp> (raw) In-Reply-To: <alpine.DEB.2.21.2003101555050.177273@chino.kir.corp.google.com> On 2020/03/11 7:55, David Rientjes wrote: > On Wed, 11 Mar 2020, Tetsuo Handa wrote: > >>> diff --git a/mm/vmscan.c b/mm/vmscan.c >>> --- a/mm/vmscan.c >>> +++ b/mm/vmscan.c >>> @@ -2637,6 +2637,8 @@ static void shrink_node_memcgs(pg_data_t *pgdat, struct scan_control *sc) >>> unsigned long reclaimed; >>> unsigned long scanned; >>> >>> + cond_resched(); >>> + >> >> Is this safe for CONFIG_PREEMPTION case? If current thread has realtime priority, >> can we guarantee that the OOM victim (well, the OOM reaper kernel thread rather >> than the OOM victim ?) gets scheduled? >> > > I think it's the best we can do that immediately solves the issue unless > you have another idea in mind? "schedule_timeout_killable(1) outside of oom_lock" or "the OOM reaper grabs oom_lock so that allocating threads guarantee that the OOM reaper gets scheduled" or "direct OOM reaping so that allocating threads guarantee that some memory is reclaimed". > >>> switch (mem_cgroup_protected(target_memcg, memcg)) { >>> case MEMCG_PROT_MIN: >>> /* >>> >>
next prev parent reply other threads:[~2020-03-11 9:35 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-10 21:39 [patch] mm, oom: prevent soft lockup on memcg oom for UP systems David Rientjes 2020-03-10 22:05 ` Tetsuo Handa 2020-03-10 22:55 ` David Rientjes 2020-03-11 9:34 ` Tetsuo Handa [this message] 2020-03-11 19:38 ` David Rientjes 2020-03-11 22:04 ` Tetsuo Handa 2020-03-11 22:14 ` David Rientjes 2020-03-12 0:12 ` Tetsuo Handa 2020-03-12 18:07 ` David Rientjes 2020-03-12 22:32 ` Andrew Morton 2020-03-16 9:31 ` Michal Hocko 2020-03-16 10:04 ` Tetsuo Handa 2020-03-16 10:14 ` Michal Hocko 2020-03-13 0:15 ` Tetsuo Handa 2020-03-13 22:01 ` David Rientjes 2020-03-13 23:15 ` Tetsuo Handa 2020-03-13 23:32 ` Tetsuo Handa 2020-03-16 23:59 ` David Rientjes 2020-03-17 3:18 ` Tetsuo Handa 2020-03-17 4:09 ` David Rientjes 2020-03-18 0:55 ` [patch v2] " David Rientjes 2020-03-18 9:42 ` Michal Hocko 2020-03-18 21:40 ` David Rientjes 2020-03-18 22:03 ` [patch v3] " David Rientjes 2020-03-19 7:09 ` Michal Hocko 2020-03-12 4:23 ` [patch] " Tetsuo Handa 2020-03-10 22:10 ` Michal Hocko 2020-03-10 23:02 ` David Rientjes 2020-03-11 8:27 ` Michal Hocko 2020-03-11 19:45 ` David Rientjes 2020-03-12 8:32 ` Michal Hocko 2020-03-12 18:20 ` David Rientjes 2020-03-12 20:16 ` Michal Hocko 2020-03-16 9:32 ` Michal Hocko 2020-03-11 0:18 ` Andrew Morton 2020-03-11 0:34 ` David Rientjes 2020-03-11 8:36 ` Michal Hocko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=7a6170fc-b247-e327-321a-b99fb53f552d@i-love.sakura.ne.jp \ --to=penguin-kernel@i-love.sakura.ne.jp \ --cc=akpm@linux-foundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mhocko@kernel.org \ --cc=rientjes@google.com \ --cc=vbabka@suse.cz \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).