From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: David Rientjes <rientjes@google.com>
Cc: CAI Qian <caiqian@redhat.com>,
avagin@gmail.com, Andrey Vagin <avagin@openvz.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mel@csn.ul.ie>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Minchan Kim <minchan.kim@gmail.com>,
Hugh Dickins <hughd@google.com>, Oleg Nesterov <oleg@redhat.com>
Subject: Re: [PATCH 1/4] oom: improve dump_tasks() show items
Date: Fri, 13 May 2011 19:14:51 +0900 [thread overview]
Message-ID: <4DCD049B.4050003@jp.fujitsu.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1105101623220.12477@chino.kir.corp.google.com>
Hi
Sorry for the delay. I did hit machine crash in this week and I lost
a lot of e-mail.
> On Tue, 10 May 2011, KOSAKI Motohiro wrote:
>
>> Recently, oom internal logic was dramatically changed. Thus
>> dump_tasks() is no longer useful. it has some meaningless
>> items and don't have some oom socre related items.
>>
>
> This changelog is inaccurate.
>
> dump_tasks() is actually useful as it currently stands; there are things
> that you may add or remove but saying that it is "no longer useful" is an
> exaggeration.
Hm. OK.
>
>> This patch adapt displaying fields to new oom logic.
>>
>> details
>> ==========
>> removed: pid (we always kill process. don't need thread id),
>> mm->total_vm (we no longer uses virtual memory size)
>
> Showing mm->total_vm is still interesting to know what the old heuristic
> would have used rather than the new heuristic, I'd prefer if we kept it.
OK, reasonable.
>
>> signal->oom_adj (we no longer uses it internally)
>> added: ppid (we often kill sacrifice child process)
>> modify: RSS (account mm->nr_ptes too)
>
> I'd prefer if ptes were shown independently from rss instead of adding it
> to the thread's true rss usage and representing it as such.
No. nr-pte should always be accounted as rss. I plan to change RLIMIT_RSS too.
Because, when end users change RLIMIT_RSS, they intend to limit number of physical
memory usage. It's not only subset. current total_rss = anon-rss + file-rss is
only implementation limit. In the other hand, if we makes separate RLIMIT, RLIMIT_RSS
and RLIMIT_PTE, RLIMIT_RSS don't prevent zero page DoS attack. it's no optimal.
> I think the cpu should also be removed.
ok.
> For the next version, could you show the old output and comparsion to new
> output in the changelog?
Will do.
>
>>
>> Signed-off-by: KOSAKI Motohiro<kosaki.motohiro@jp.fujitsu.com>
>> ---
>>
>> Strictly speaking. this is NOT a part of oom fixing patches. but it's
>> necessary when I parse QAI's test result.
>>
>>
>> mm/oom_kill.c | 14 ++++++++------
>> 1 files changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
>> index f52e85c..118d958 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 rss cpu score_adj name\n");
>> for_each_process(p) {
>> if (oom_unkillable_task(p, mem, nodemask))
>> continue;
>> @@ -370,11 +370,13 @@ 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 %4u %9d %s\n",
>> + task_tgid_nr(task), task_tgid_nr(task->real_parent),
>> + task_uid(task),
>> + get_mm_rss(task->mm) + p->mm->nr_ptes,
>> + task_cpu(task),
>> + task->signal->oom_score_adj,
>> + task->comm);
>> task_unlock(task);
>> }
>> }
>
> --
> 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>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
To: David Rientjes <rientjes@google.com>
Cc: CAI Qian <caiqian@redhat.com>,
avagin@gmail.com, Andrey Vagin <avagin@openvz.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mel@csn.ul.ie>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Minchan Kim <minchan.kim@gmail.com>,
Hugh Dickins <hughd@google.com>, Oleg Nesterov <oleg@redhat.com>
Subject: Re: [PATCH 1/4] oom: improve dump_tasks() show items
Date: Fri, 13 May 2011 19:14:51 +0900 [thread overview]
Message-ID: <4DCD049B.4050003@jp.fujitsu.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1105101623220.12477@chino.kir.corp.google.com>
Hi
Sorry for the delay. I did hit machine crash in this week and I lost
a lot of e-mail.
> On Tue, 10 May 2011, KOSAKI Motohiro wrote:
>
>> Recently, oom internal logic was dramatically changed. Thus
>> dump_tasks() is no longer useful. it has some meaningless
>> items and don't have some oom socre related items.
>>
>
> This changelog is inaccurate.
>
> dump_tasks() is actually useful as it currently stands; there are things
> that you may add or remove but saying that it is "no longer useful" is an
> exaggeration.
Hm. OK.
>
>> This patch adapt displaying fields to new oom logic.
>>
>> details
>> ==========
>> removed: pid (we always kill process. don't need thread id),
>> mm->total_vm (we no longer uses virtual memory size)
>
> Showing mm->total_vm is still interesting to know what the old heuristic
> would have used rather than the new heuristic, I'd prefer if we kept it.
OK, reasonable.
>
>> signal->oom_adj (we no longer uses it internally)
>> added: ppid (we often kill sacrifice child process)
>> modify: RSS (account mm->nr_ptes too)
>
> I'd prefer if ptes were shown independently from rss instead of adding it
> to the thread's true rss usage and representing it as such.
No. nr-pte should always be accounted as rss. I plan to change RLIMIT_RSS too.
Because, when end users change RLIMIT_RSS, they intend to limit number of physical
memory usage. It's not only subset. current total_rss = anon-rss + file-rss is
only implementation limit. In the other hand, if we makes separate RLIMIT, RLIMIT_RSS
and RLIMIT_PTE, RLIMIT_RSS don't prevent zero page DoS attack. it's no optimal.
> I think the cpu should also be removed.
ok.
> For the next version, could you show the old output and comparsion to new
> output in the changelog?
Will do.
>
>>
>> Signed-off-by: KOSAKI Motohiro<kosaki.motohiro@jp.fujitsu.com>
>> ---
>>
>> Strictly speaking. this is NOT a part of oom fixing patches. but it's
>> necessary when I parse QAI's test result.
>>
>>
>> mm/oom_kill.c | 14 ++++++++------
>> 1 files changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
>> index f52e85c..118d958 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 rss cpu score_adj name\n");
>> for_each_process(p) {
>> if (oom_unkillable_task(p, mem, nodemask))
>> continue;
>> @@ -370,11 +370,13 @@ 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 %4u %9d %s\n",
>> + task_tgid_nr(task), task_tgid_nr(task->real_parent),
>> + task_uid(task),
>> + get_mm_rss(task->mm) + p->mm->nr_ptes,
>> + task_cpu(task),
>> + task->signal->oom_score_adj,
>> + task->comm);
>> task_unlock(task);
>> }
>> }
>
> --
> 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>
>
>
--
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>
next prev parent reply other threads:[~2011-05-13 10:13 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-05 11:44 [PATCH] mm: check zone->all_unreclaimable in all_unreclaimable() Andrey Vagin
2011-03-05 11:44 ` Andrey Vagin
2011-03-05 15:20 ` Minchan Kim
2011-03-05 15:20 ` Minchan Kim
2011-03-05 15:34 ` Andrew Vagin
2011-03-05 15:53 ` Minchan Kim
2011-03-05 15:53 ` Minchan Kim
2011-03-05 16:41 ` Andrew Vagin
2011-03-05 16:41 ` Andrew Vagin
2011-03-05 17:07 ` Minchan Kim
2011-03-05 17:07 ` Minchan Kim
2011-03-07 21:58 ` Andrew Morton
2011-03-07 21:58 ` Andrew Morton
2011-03-07 23:45 ` Minchan Kim
2011-03-07 23:45 ` Minchan Kim
2011-03-09 5:37 ` KAMEZAWA Hiroyuki
2011-03-09 5:37 ` KAMEZAWA Hiroyuki
2011-03-09 5:43 ` KAMEZAWA Hiroyuki
2011-03-09 5:43 ` KAMEZAWA Hiroyuki
2011-03-10 6:58 ` Minchan Kim
2011-03-10 6:58 ` Minchan Kim
2011-03-10 23:58 ` KAMEZAWA Hiroyuki
2011-03-10 23:58 ` KAMEZAWA Hiroyuki
2011-03-11 0:18 ` Minchan Kim
2011-03-11 0:18 ` Minchan Kim
2011-03-11 6:08 ` avagin
2011-03-11 6:08 ` avagin
2011-03-14 1:03 ` Minchan Kim
2011-03-14 1:03 ` Minchan Kim
2011-03-08 0:44 ` KAMEZAWA Hiroyuki
2011-03-08 0:44 ` KAMEZAWA Hiroyuki
2011-03-08 3:06 ` KOSAKI Motohiro
2011-03-08 3:06 ` KOSAKI Motohiro
2011-03-08 19:02 ` avagin
2011-03-08 19:02 ` avagin
2011-03-09 5:52 ` KAMEZAWA Hiroyuki
2011-03-09 5:52 ` KAMEZAWA Hiroyuki
2011-03-09 6:17 ` KOSAKI Motohiro
2011-03-09 6:17 ` KOSAKI Motohiro
2011-03-10 14:08 ` KOSAKI Motohiro
2011-03-10 14:08 ` KOSAKI Motohiro
2011-03-08 8:12 ` Andrew Vagin
2011-03-08 8:12 ` Andrew Vagin
2011-03-09 6:06 ` KAMEZAWA Hiroyuki
2011-03-09 6:06 ` KAMEZAWA Hiroyuki
2011-05-04 1:38 ` CAI Qian
2011-05-09 6:54 ` KOSAKI Motohiro
2011-05-09 6:54 ` KOSAKI Motohiro
2011-05-09 8:47 ` CAI Qian
2011-05-09 8:47 ` CAI Qian
2011-05-09 9:19 ` KOSAKI Motohiro
2011-05-09 9:19 ` KOSAKI Motohiro
2011-05-10 8:11 ` OOM Killer don't works at all if the system have >gigabytes memory (was Re: [PATCH] mm: check zone->all_unreclaimable in all_unreclaimable()) KOSAKI Motohiro
2011-05-10 8:11 ` KOSAKI Motohiro
2011-05-10 8:14 ` [PATCH 1/4] oom: improve dump_tasks() show items KOSAKI Motohiro
2011-05-10 8:14 ` KOSAKI Motohiro
2011-05-10 23:29 ` David Rientjes
2011-05-10 23:29 ` David Rientjes
2011-05-13 10:14 ` KOSAKI Motohiro [this message]
2011-05-13 10:14 ` KOSAKI Motohiro
2011-05-10 8:15 ` [PATCH 2/4] oom: kill younger process first KOSAKI Motohiro
2011-05-10 8:15 ` KOSAKI Motohiro
2011-05-10 23:31 ` David Rientjes
2011-05-10 23:31 ` David Rientjes
2011-05-13 10:15 ` KOSAKI Motohiro
2011-05-13 10:15 ` KOSAKI Motohiro
2011-05-11 23:33 ` Minchan Kim
2011-05-11 23:33 ` Minchan Kim
2011-05-12 0:52 ` KAMEZAWA Hiroyuki
2011-05-12 0:52 ` KAMEZAWA Hiroyuki
2011-05-12 1:30 ` Minchan Kim
2011-05-12 1:30 ` Minchan Kim
2011-05-12 1:53 ` KAMEZAWA Hiroyuki
2011-05-12 1:53 ` KAMEZAWA Hiroyuki
2011-05-12 2:23 ` Minchan Kim
2011-05-12 2:23 ` Minchan Kim
2011-05-12 3:39 ` KAMEZAWA Hiroyuki
2011-05-12 3:39 ` KAMEZAWA Hiroyuki
2011-05-12 4:17 ` Minchan Kim
2011-05-12 4:17 ` Minchan Kim
2011-05-12 14:38 ` Paul E. McKenney
2011-05-12 14:38 ` Paul E. McKenney
2011-05-13 10:18 ` KOSAKI Motohiro
2011-05-13 10:18 ` KOSAKI Motohiro
2011-05-10 8:15 ` [PATCH 3/4] oom: oom-killer don't use permillage of system-ram internally KOSAKI Motohiro
2011-05-10 8:15 ` KOSAKI Motohiro
2011-05-10 23:40 ` David Rientjes
2011-05-10 23:40 ` David Rientjes
2011-05-13 10:30 ` KOSAKI Motohiro
2011-05-13 10:30 ` KOSAKI Motohiro
2011-05-10 8:16 ` [PATCH 4/4] oom: don't kill random process KOSAKI Motohiro
2011-05-10 8:16 ` KOSAKI Motohiro
2011-05-10 23:41 ` David Rientjes
2011-05-10 23:41 ` David Rientjes
2011-05-10 23:22 ` OOM Killer don't works at all if the system have >gigabytes memory (was Re: [PATCH] mm: check zone->all_unreclaimable in all_unreclaimable()) David Rientjes
2011-05-10 23:22 ` David Rientjes
2011-05-11 2:30 ` CAI Qian
2011-05-11 2:30 ` CAI Qian
2011-05-11 20:34 ` David Rientjes
2011-05-11 20:34 ` David Rientjes
2011-05-12 0:13 ` Minchan Kim
2011-05-12 0:13 ` Minchan Kim
2011-05-12 19:38 ` David Rientjes
2011-05-12 19:38 ` David Rientjes
2011-05-13 4:16 ` Minchan Kim
2011-05-13 4:16 ` Minchan Kim
2011-05-13 11:04 ` KOSAKI Motohiro
2011-05-13 11:04 ` KOSAKI Motohiro
2011-05-16 20:42 ` David Rientjes
2011-05-16 20:42 ` David Rientjes
2011-05-13 6:53 ` CAI Qian
2011-05-13 6:53 ` CAI Qian
2011-05-16 20:46 ` David Rientjes
2011-05-16 20:46 ` David Rientjes
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=4DCD049B.4050003@jp.fujitsu.com \
--to=kosaki.motohiro@jp.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=avagin@gmail.com \
--cc=avagin@openvz.org \
--cc=caiqian@redhat.com \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--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.