All of lore.kernel.org
 help / color / mirror / Atom feed
From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: kosaki.motohiro@jp.fujitsu.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org, caiqian@redhat.com,
	rientjes@google.com, hughd@google.com,
	kamezawa.hiroyu@jp.fujitsu.com, minchan.kim@gmail.com,
	oleg@redhat.com
Subject: [PATCH 1/5] oom: improve dump_tasks() show items
Date: Fri, 20 May 2011 17:01:38 +0900	[thread overview]
Message-ID: <4DD61FE2.1020303@jp.fujitsu.com> (raw)
In-Reply-To: <4DD61F80.1020505@jp.fujitsu.com>

Recently, oom internal logic was dramatically changed. Thus
dump_tasks() doesn't show enough information for bug report
analysis. it has some meaningless items and don't have some
oom score related items.

This patch adapt displaying fields to new oom logic.

details
--------
removed: pid (we always kill process. don't need thread id),
         signal->oom_adj (we no longer uses it internally)
	 cpu (we no longer uses it)
added:  ppid (we often kill sacrifice child process)
        swap (it's accounted)
modify: RSS (account mm->nr_ptes too)

<old>
[ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name
[ 3886]     0  3886     2893      441   1       0             0 bash
[ 3905]     0  3905    29361    25833   0       0             0 memtoy

<new>
[   pid]   ppid   uid total_vm      rss     swap score_adj name
[   417]      1     0     3298       12      184     -1000 udevd
[   830]      1     0     1776       11       16         0 system-setup-ke
[   973]      1     0    61179       35      116         0 rsyslogd
[  1733]   1732     0  1052337   958582        0         0 memtoy

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
---
 mm/oom_kill.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index f52e85c..43d32ae 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -355,7 +355,7 @@ static void dump_tasks(const struct mem_cgroup *mem, const nodemask_t *nodemask)
 	struct task_struct *p;
 	struct task_struct *task;

-	pr_info("[ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name\n");
+	pr_info("[   pid]   ppid   uid total_vm      rss     swap score_adj name\n");
 	for_each_process(p) {
 		if (oom_unkillable_task(p, mem, nodemask))
 			continue;
@@ -370,11 +370,14 @@ static void dump_tasks(const struct mem_cgroup *mem, const nodemask_t *nodemask)
 			continue;
 		}

-		pr_info("[%5d] %5d %5d %8lu %8lu %3u     %3d         %5d %s\n",
-			task->pid, task_uid(task), task->tgid,
-			task->mm->total_vm, get_mm_rss(task->mm),
-			task_cpu(task), task->signal->oom_adj,
-			task->signal->oom_score_adj, task->comm);
+		pr_info("[%6d] %6d %5d %8lu %8lu %8lu %9d %s\n",
+			task_tgid_nr(task), task_tgid_nr(task->real_parent),
+			task_uid(task),
+			task->mm->total_vm,
+			get_mm_rss(task->mm) + p->mm->nr_ptes,
+			get_mm_counter(p->mm, MM_SWAPENTS),
+			task->signal->oom_score_adj,
+			task->comm);
 		task_unlock(task);
 	}
 }
-- 
1.7.3.1




WARNING: multiple messages have this Message-ID (diff)
From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: kosaki.motohiro@jp.fujitsu.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org, caiqian@redhat.com,
	rientjes@google.com, hughd@google.com,
	kamezawa.hiroyu@jp.fujitsu.com, minchan.kim@gmail.com,
	oleg@redhat.com
Subject: [PATCH 1/5] oom: improve dump_tasks() show items
Date: Fri, 20 May 2011 17:01:38 +0900	[thread overview]
Message-ID: <4DD61FE2.1020303@jp.fujitsu.com> (raw)
In-Reply-To: <4DD61F80.1020505@jp.fujitsu.com>

Recently, oom internal logic was dramatically changed. Thus
dump_tasks() doesn't show enough information for bug report
analysis. it has some meaningless items and don't have some
oom score related items.

This patch adapt displaying fields to new oom logic.

details
--------
removed: pid (we always kill process. don't need thread id),
         signal->oom_adj (we no longer uses it internally)
	 cpu (we no longer uses it)
added:  ppid (we often kill sacrifice child process)
        swap (it's accounted)
modify: RSS (account mm->nr_ptes too)

<old>
[ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name
[ 3886]     0  3886     2893      441   1       0             0 bash
[ 3905]     0  3905    29361    25833   0       0             0 memtoy

<new>
[   pid]   ppid   uid total_vm      rss     swap score_adj name
[   417]      1     0     3298       12      184     -1000 udevd
[   830]      1     0     1776       11       16         0 system-setup-ke
[   973]      1     0    61179       35      116         0 rsyslogd
[  1733]   1732     0  1052337   958582        0         0 memtoy

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
---
 mm/oom_kill.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index f52e85c..43d32ae 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -355,7 +355,7 @@ static void dump_tasks(const struct mem_cgroup *mem, const nodemask_t *nodemask)
 	struct task_struct *p;
 	struct task_struct *task;

-	pr_info("[ pid ]   uid  tgid total_vm      rss cpu oom_adj oom_score_adj name\n");
+	pr_info("[   pid]   ppid   uid total_vm      rss     swap score_adj name\n");
 	for_each_process(p) {
 		if (oom_unkillable_task(p, mem, nodemask))
 			continue;
@@ -370,11 +370,14 @@ static void dump_tasks(const struct mem_cgroup *mem, const nodemask_t *nodemask)
 			continue;
 		}

-		pr_info("[%5d] %5d %5d %8lu %8lu %3u     %3d         %5d %s\n",
-			task->pid, task_uid(task), task->tgid,
-			task->mm->total_vm, get_mm_rss(task->mm),
-			task_cpu(task), task->signal->oom_adj,
-			task->signal->oom_score_adj, task->comm);
+		pr_info("[%6d] %6d %5d %8lu %8lu %8lu %9d %s\n",
+			task_tgid_nr(task), task_tgid_nr(task->real_parent),
+			task_uid(task),
+			task->mm->total_vm,
+			get_mm_rss(task->mm) + p->mm->nr_ptes,
+			get_mm_counter(p->mm, MM_SWAPENTS),
+			task->signal->oom_score_adj,
+			task->comm);
 		task_unlock(task);
 	}
 }
-- 
1.7.3.1



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-05-20  8:01 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-20  8:00 [PATCH v2 0/5] Fix oom killer doesn't work at all if system have > gigabytes memory (aka CAI founded issue) KOSAKI Motohiro
2011-05-20  8:00 ` KOSAKI Motohiro
2011-05-20  8:01 ` KOSAKI Motohiro [this message]
2011-05-20  8:01   ` [PATCH 1/5] oom: improve dump_tasks() show items KOSAKI Motohiro
2011-05-23 22:16   ` David Rientjes
2011-05-23 22:16     ` David Rientjes
2011-05-20  8:02 ` [PATCH 2/5] oom: kill younger process first KOSAKI Motohiro
2011-05-20  8:02   ` KOSAKI Motohiro
2011-05-23  2:37   ` Minchan Kim
2011-05-23  2:37     ` Minchan Kim
2011-05-23 22:20   ` David Rientjes
2011-05-23 22:20     ` David Rientjes
2011-05-20  8:03 ` [PATCH 3/5] oom: oom-killer don't use proportion of system-ram internally KOSAKI Motohiro
2011-05-20  8:03   ` KOSAKI Motohiro
2011-05-23  3:59   ` Minchan Kim
2011-05-23  3:59     ` Minchan Kim
2011-05-24  1:14     ` KOSAKI Motohiro
2011-05-24  1:14       ` KOSAKI Motohiro
2011-05-24  1:32       ` Minchan Kim
2011-05-24  1:32         ` Minchan Kim
2011-05-23  4:02   ` Minchan Kim
2011-05-23  4:02     ` Minchan Kim
2011-05-24  1:44     ` KOSAKI Motohiro
2011-05-24  1:44       ` KOSAKI Motohiro
2011-05-24  3:11       ` KOSAKI Motohiro
2011-05-24  3:11         ` KOSAKI Motohiro
2011-05-23 22:28   ` David Rientjes
2011-05-23 22:28     ` David Rientjes
2011-05-23 22:48     ` David Rientjes
2011-05-23 22:48       ` David Rientjes
2011-05-24  1:21       ` KOSAKI Motohiro
2011-05-24  1:21         ` KOSAKI Motohiro
2011-05-24  8:32       ` CAI Qian
2011-05-24  8:32         ` CAI Qian
2011-05-26  7:08       ` CAI Qian
2011-05-26  7:08         ` CAI Qian
2011-05-27 19:12         ` David Rientjes
2011-05-27 19:12           ` David Rientjes
2011-05-24  2:07     ` KOSAKI Motohiro
2011-05-24  2:07       ` KOSAKI Motohiro
2011-05-26  9:34   ` CAI Qian
2011-05-26  9:34     ` CAI Qian
2011-05-26  9:56     ` KOSAKI Motohiro
2011-05-26  9:56       ` KOSAKI Motohiro
2011-05-20  8:04 ` [PATCH 4/5] oom: don't kill random process KOSAKI Motohiro
2011-05-20  8:04   ` KOSAKI Motohiro
2011-05-23  4:31   ` Minchan Kim
2011-05-23  4:31     ` Minchan Kim
2011-05-24  1:53     ` KOSAKI Motohiro
2011-05-24  1:53       ` KOSAKI Motohiro
2011-05-24  8:46       ` Minchan Kim
2011-05-24  8:46         ` Minchan Kim
2011-05-24  8:49         ` KOSAKI Motohiro
2011-05-24  8:49           ` KOSAKI Motohiro
2011-05-24  9:04           ` Minchan Kim
2011-05-24  9:04             ` Minchan Kim
2011-05-24  9:09             ` KOSAKI Motohiro
2011-05-24  9:09               ` KOSAKI Motohiro
2011-05-24  9:20               ` Minchan Kim
2011-05-24  9:20                 ` Minchan Kim
2011-05-24  9:38                 ` KOSAKI Motohiro
2011-05-24  9:38                   ` KOSAKI Motohiro
2011-05-23 22:32   ` David Rientjes
2011-05-23 22:32     ` David Rientjes
2011-05-24  1:35     ` KOSAKI Motohiro
2011-05-24  1:35       ` KOSAKI Motohiro
2011-05-24  1:39       ` David Rientjes
2011-05-24  1:39         ` David Rientjes
2011-05-24  1:55         ` KOSAKI Motohiro
2011-05-24  1:55           ` KOSAKI Motohiro
2011-05-24  1:58           ` David Rientjes
2011-05-24  1:58             ` David Rientjes
2011-05-24  2:03             ` KOSAKI Motohiro
2011-05-24  2:03               ` KOSAKI Motohiro
2011-05-25 23:50               ` David Rientjes
2011-05-25 23:50                 ` David Rientjes
2011-05-30  1:17                 ` KOSAKI Motohiro
2011-05-30  1:17                   ` KOSAKI Motohiro
2011-05-31  4:48                   ` David Rientjes
2011-05-31  4:48                     ` David Rientjes
2011-05-31  4:54                     ` KOSAKI Motohiro
2011-05-31  4:54                       ` KOSAKI Motohiro
2011-05-20  8:05 ` [PATCH 5/5] oom: merge oom_kill_process() with oom_kill_task() KOSAKI Motohiro
2011-05-20  8:05   ` KOSAKI Motohiro
2011-05-31  1:33 ` [PATCH v2 0/5] Fix oom killer doesn't work at all if system have > gigabytes memory (aka CAI founded issue) CAI Qian
2011-05-31  1:33   ` CAI Qian
2011-05-31  4:10   ` KOSAKI Motohiro
2011-05-31  4:10     ` KOSAKI Motohiro
2011-05-31  4:14     ` CAI Qian
2011-05-31  4:14       ` CAI Qian
2011-05-31  4:34       ` KOSAKI Motohiro
2011-05-31  4:34         ` KOSAKI Motohiro
2011-05-31  4:49       ` KOSAKI Motohiro
2011-05-31  4:49         ` KOSAKI Motohiro
2011-05-31  4:32     ` KOSAKI Motohiro
2011-05-31  4:32       ` KOSAKI Motohiro
2011-05-31  4:52     ` CAI Qian
2011-05-31  4:52       ` CAI Qian
2011-05-31  7:04       ` KOSAKI Motohiro
2011-05-31  7:04         ` KOSAKI Motohiro
2011-05-31  7:50         ` CAI Qian
2011-05-31  7:50           ` CAI Qian
2011-05-31  7:56           ` KOSAKI Motohiro
2011-05-31  7:56             ` KOSAKI Motohiro
2011-05-31  7:59             ` CAI Qian
2011-05-31  7:59               ` CAI Qian
2011-05-31  8:11               ` KOSAKI Motohiro
2011-05-31  8:11                 ` KOSAKI Motohiro
2011-05-31 10:01                 ` KOSAKI Motohiro
2011-05-31 10:01                   ` KOSAKI Motohiro
2011-06-01  1:17                   ` CAI Qian
2011-06-01  1:17                     ` CAI Qian
2011-06-01  3:32                   ` Minchan Kim
2011-06-01  3:32                     ` Minchan Kim
2011-06-06  3:07                     ` KOSAKI Motohiro
2011-06-06  3:07                       ` KOSAKI Motohiro
2011-06-06 14:44                       ` Minchan Kim
2011-06-06 14:44                         ` Minchan Kim

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=4DD61FE2.1020303@jp.fujitsu.com \
    --to=kosaki.motohiro@jp.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=caiqian@redhat.com \
    --cc=hughd@google.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan.kim@gmail.com \
    --cc=oleg@redhat.com \
    --cc=rientjes@google.com \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.