From: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Hugh Dickins <hughd@google.com>,
Rik van Riel <riel@redhat.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Konstantin Khlebnikov <khlebnikov@openvz.org>,
Michal Hocko <mhocko@suse.cz>,
HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
kosaki.motohiro@gmail.com
Subject: Re: [PATCH v3 1/3] hugetlbfs: stop setting VM_DONTDUMP in initializing vma(VM_HUGETLB)
Date: Fri, 05 Apr 2013 14:32:08 -0400 [thread overview]
Message-ID: <515F18A8.7030102@gmail.com> (raw)
In-Reply-To: <1365014138-19589-2-git-send-email-n-horiguchi@ah.jp.nec.com>
(4/3/13 2:35 PM), Naoya Horiguchi wrote:
> Currently we fail to include any data on hugepages into coredump,
> because VM_DONTDUMP is set on hugetlbfs's vma. This behavior was recently
> introduced by commit 314e51b98 "mm: kill vma flag VM_RESERVED and
> mm->reserved_vm counter". This looks to me a serious regression,
> so let's fix it.
I don't think this is enough explanations. Let's explain the code meaning
time to time order.
First, we had no madvice(DONTDUMP) nor coredump_filter(HUGETLB). then hugetlb
pages were never dumped.
Second, I added coredump_filter(HUGETLB). and then vm_dump_size became..
vm_dump_size()
{
/* Hugetlb memory check */
if (vma->vm_flags & VM_HUGETLB) {
..
goto whole;
}
if (vma->vm_flags & VM_RESERVED)
return 0;
The point is, hugetlb was checked before VM_RESERVED. i.e. hugetlb core dump ignored
VM_RESERVED. At this time, "if (vma->vm_flags & VM_HUGETLB)" statement don't need
return 0 because VM_RESERVED prevented to go into the subsequent flag checks.
Third, Jason added madvise(DONTDUMP). then vm_dump_size became...
vm_dump_size()
{
if (vma->vm_flags & VM_NODUMP)
return 0;
/* Hugetlb memory check */
if (vma->vm_flags & VM_HUGETLB) {
..
goto whole;
}
if (vma->vm_flags & VM_RESERVED)
return 0;
Look, VM_NODUMP and VM_RESERVED had similar and different meanings at this time.
Finally, Konstantin removed VM_RESERVED and hugetlb coredump behavior
has been changed.
Thus, patch [1/3] and [2/3] should be marked [stable for v3.6 or later].
Anyway, this patch is correct. Thank you!
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
--
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/ .
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@gmail.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Hugh Dickins <hughd@google.com>,
Rik van Riel <riel@redhat.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Konstantin Khlebnikov <khlebnikov@openvz.org>,
Michal Hocko <mhocko@suse.cz>,
HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
kosaki.motohiro@gmail.com
Subject: Re: [PATCH v3 1/3] hugetlbfs: stop setting VM_DONTDUMP in initializing vma(VM_HUGETLB)
Date: Fri, 05 Apr 2013 14:32:08 -0400 [thread overview]
Message-ID: <515F18A8.7030102@gmail.com> (raw)
In-Reply-To: <1365014138-19589-2-git-send-email-n-horiguchi@ah.jp.nec.com>
(4/3/13 2:35 PM), Naoya Horiguchi wrote:
> Currently we fail to include any data on hugepages into coredump,
> because VM_DONTDUMP is set on hugetlbfs's vma. This behavior was recently
> introduced by commit 314e51b98 "mm: kill vma flag VM_RESERVED and
> mm->reserved_vm counter". This looks to me a serious regression,
> so let's fix it.
I don't think this is enough explanations. Let's explain the code meaning
time to time order.
First, we had no madvice(DONTDUMP) nor coredump_filter(HUGETLB). then hugetlb
pages were never dumped.
Second, I added coredump_filter(HUGETLB). and then vm_dump_size became..
vm_dump_size()
{
/* Hugetlb memory check */
if (vma->vm_flags & VM_HUGETLB) {
..
goto whole;
}
if (vma->vm_flags & VM_RESERVED)
return 0;
The point is, hugetlb was checked before VM_RESERVED. i.e. hugetlb core dump ignored
VM_RESERVED. At this time, "if (vma->vm_flags & VM_HUGETLB)" statement don't need
return 0 because VM_RESERVED prevented to go into the subsequent flag checks.
Third, Jason added madvise(DONTDUMP). then vm_dump_size became...
vm_dump_size()
{
if (vma->vm_flags & VM_NODUMP)
return 0;
/* Hugetlb memory check */
if (vma->vm_flags & VM_HUGETLB) {
..
goto whole;
}
if (vma->vm_flags & VM_RESERVED)
return 0;
Look, VM_NODUMP and VM_RESERVED had similar and different meanings at this time.
Finally, Konstantin removed VM_RESERVED and hugetlb coredump behavior
has been changed.
Thus, patch [1/3] and [2/3] should be marked [stable for v3.6 or later].
Anyway, this patch is correct. Thank you!
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
next prev parent reply other threads:[~2013-04-05 18:32 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 18:35 [PATCH v3 0/3] fix hugepage coredump Naoya Horiguchi
2013-04-03 18:35 ` Naoya Horiguchi
2013-04-03 18:35 ` [PATCH v3 1/3] hugetlbfs: stop setting VM_DONTDUMP in initializing vma(VM_HUGETLB) Naoya Horiguchi
2013-04-03 18:35 ` Naoya Horiguchi
2013-04-03 19:20 ` Rik van Riel
2013-04-03 19:20 ` Rik van Riel
2013-04-05 18:32 ` KOSAKI Motohiro [this message]
2013-04-05 18:32 ` KOSAKI Motohiro
2013-04-05 18:40 ` Naoya Horiguchi
2013-04-05 18:40 ` Naoya Horiguchi
2013-04-03 18:35 ` [PATCH v3 2/3] fix hugetlb memory check in vma_dump_size() Naoya Horiguchi
2013-04-03 18:35 ` Naoya Horiguchi
2013-04-03 19:22 ` Rik van Riel
2013-04-03 19:22 ` Rik van Riel
2013-04-03 21:14 ` Michal Hocko
2013-04-03 21:14 ` Michal Hocko
2013-04-04 0:42 ` HATAYAMA Daisuke
2013-04-04 0:42 ` HATAYAMA Daisuke
2013-04-05 18:33 ` KOSAKI Motohiro
2013-04-05 18:33 ` KOSAKI Motohiro
2013-04-03 18:35 ` [PATCH v3 3/3] hugetlbfs: add swap entry check in follow_hugetlb_page() Naoya Horiguchi
2013-04-03 18:35 ` Naoya Horiguchi
2013-04-03 20:01 ` Rik van Riel
2013-04-03 20:01 ` Rik van Riel
2013-04-05 18:59 ` KOSAKI Motohiro
2013-04-05 18:59 ` KOSAKI Motohiro
2013-04-08 19:27 ` Naoya Horiguchi
2013-04-08 19:27 ` Naoya Horiguchi
2013-04-08 20:57 ` KOSAKI Motohiro
2013-04-08 20:57 ` KOSAKI Motohiro
2013-04-09 22:00 ` Naoya Horiguchi
2013-04-09 22:00 ` Naoya Horiguchi
2013-04-10 1:53 ` KOSAKI Motohiro
2013-04-10 1:53 ` KOSAKI Motohiro
2013-04-10 8:07 ` Michal Hocko
2013-04-10 8:07 ` 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=515F18A8.7030102@gmail.com \
--to=kosaki.motohiro@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=d.hatayama@jp.fujitsu.com \
--cc=hughd@google.com \
--cc=khlebnikov@openvz.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@suse.cz \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=riel@redhat.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.