All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] proc, oom: do not report alien mms when setting oom_score_adj
@ 2019-02-12 10:21 Michal Hocko
  2019-02-12 16:08 ` Johannes Weiner
  2019-02-12 20:56 ` Andrew Morton
  0 siblings, 2 replies; 8+ messages in thread
From: Michal Hocko @ 2019-02-12 10:21 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Tetsuo Handa, David Rientjes, Johannes Weiner, Linus Torvalds,
	Yong-Taek Lee, linux-mm, LKML, Michal Hocko, Tetsuo Handa

From: Michal Hocko <mhocko@suse.com>

Tetsuo has reported that creating a thousands of processes sharing MM
without SIGHAND (aka alien threads) and setting
/proc/<pid>/oom_score_adj will swamp the kernel log and takes ages [1]
to finish. This is especially worrisome that all that printing is done
under RCU lock and this can potentially trigger RCU stall or softlockup
detector.

The primary reason for the printk was to catch potential users who might
depend on the behavior prior to 44a70adec910 ("mm, oom_adj: make sure
processes sharing mm have same view of oom_score_adj") but after more
than 2 years without a single report I guess it is safe to simply remove
the printk altogether.

The next step should be moving oom_score_adj over to the mm struct and
remove all the tasks crawling as suggested by [2]

[1] http://lkml.kernel.org/r/97fce864-6f75-bca5-14bc-12c9f890e740@i-love.sakura.ne.jp
[2] http://lkml.kernel.org/r/20190117155159.GA4087@dhcp22.suse.cz
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 fs/proc/base.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/fs/proc/base.c b/fs/proc/base.c
index 633a63462573..f5ed9512d193 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1086,10 +1086,6 @@ static int __set_oom_adj(struct file *file, int oom_adj, bool legacy)
 
 			task_lock(p);
 			if (!p->vfork_done && process_shares_mm(p, mm)) {
-				pr_info("updating oom_score_adj for %d (%s) from %d to %d because it shares mm with %d (%s). Report if this is unexpected.\n",
-						task_pid_nr(p), p->comm,
-						p->signal->oom_score_adj, oom_adj,
-						task_pid_nr(task), task->comm);
 				p->signal->oom_score_adj = oom_adj;
 				if (!legacy && has_capability_noaudit(current, CAP_SYS_RESOURCE))
 					p->signal->oom_score_adj_min = (short)oom_adj;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-02-15  9:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-12 10:21 [PATCH] proc, oom: do not report alien mms when setting oom_score_adj Michal Hocko
2019-02-12 16:08 ` Johannes Weiner
2019-02-12 20:56 ` Andrew Morton
2019-02-12 21:07   ` Tetsuo Handa
2019-02-13  1:24   ` Tetsuo Handa
2019-02-13 11:47     ` Michal Hocko
2019-02-15  0:57       ` Tetsuo Handa
2019-02-15  9:37         ` Michal Hocko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.