All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric B Munson <ebmunson@us.ibm.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: Ingo Molnar <mingo@elte.hu>,
	Andrew Morton <akpm@linux-foundation.org>,
	stable@kernel.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Hugh Dickins <hugh.dickins@tiscali.co.uk>,
	Lee Schermerhorn <Lee.Schermerhorn@hp.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	starlight@binnacle.cx, Adam Litke <agl@us.ibm.com>,
	Andy Whitcroft <apw@canonical.com>,
	wli@movementarian.org
Subject: Re: [PATCH 1/2] x86: Ignore VM_LOCKED when determining if hugetlb-backed page tables can be shared or not
Date: Wed, 27 May 2009 17:38:58 +0100	[thread overview]
Message-ID: <20090527163858.GB5145@us.ibm.com> (raw)
In-Reply-To: <1243422749-6256-2-git-send-email-mel@csn.ul.ie>

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]

On Wed, 27 May 2009, Mel Gorman wrote:

> On x86 and x86-64, it is possible that page tables are shared beween shared
> mappings backed by hugetlbfs. As part of this, page_table_shareable() checks
> a pair of vma->vm_flags and they must match if they are to be shared. All
> VMA flags are taken into account, including VM_LOCKED.
> 
> The problem is that VM_LOCKED is cleared on fork(). When a process with a
> shared memory segment forks() to exec() a helper, there will be shared VMAs
> with different flags. The impact is that the shared segment is sometimes
> considered shareable and other times not, depending on what process is
> checking.
> 
> What happens is that the segment page tables are being shared but the count is
> inaccurate depending on the ordering of events. As the page tables are freed
> with put_page(), bad pmd's are found when some of the children exit. The
> hugepage counters also get corrupted and the Total and Free count will
> no longer match even when all the hugepage-backed regions are freed. This
> requires a reboot of the machine to "fix".
> 
> This patch addresses the problem by comparing all flags except VM_LOCKED when
> deciding if pagetables should be shared or not for hugetlbfs-backed mapping.
> 
> Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>

I tested this patch using 2.6.30-rc7 and the libhugetlbfs test suite on x86_64.
Everything looks good to me.

Acked-by: Eric B Munson <ebmunson@us.ibm.com>
Tested-by: Eric B Munson <ebmunson@us.ibm.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2009-05-27 16:38 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27 11:12 [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Mel Gorman
2009-05-27 11:12 ` Mel Gorman
2009-05-27 11:12 ` [PATCH 1/2] x86: Ignore VM_LOCKED when determining if hugetlb-backed page tables can be shared or not Mel Gorman
2009-05-27 11:12   ` Mel Gorman
2009-05-27 16:38   ` Eric B Munson [this message]
2009-05-27 23:18   ` Ingo Molnar
2009-05-27 23:18     ` Ingo Molnar
2009-05-28  8:55     ` Mel Gorman
2009-05-28  8:55       ` Mel Gorman
2009-05-27 11:12 ` [PATCH 2/2] mm: Account for MAP_SHARED mappings using VM_MAYSHARE and not VM_SHARED in hugetlbfs Mel Gorman
2009-05-27 11:12   ` Mel Gorman
2009-05-27 16:40   ` Eric B Munson
2009-05-27 20:14 ` [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Andrew Morton
2009-05-27 20:14   ` Andrew Morton
2009-05-27 23:19   ` Ingo Molnar
2009-05-27 23:19     ` Ingo Molnar
2009-06-16  0:19     ` QUESTION: can netdev_alloc_skb() errors be reduced by tuning? starlight
2009-06-16  0:19       ` starlight
2009-06-16  2:26       ` Eric Dumazet
2009-06-16  2:26         ` Eric Dumazet
2009-06-16  4:12         ` starlight
2009-06-16  4:12           ` starlight
2009-06-16  6:12           ` Eric Dumazet
2009-06-16  6:12             ` Eric Dumazet
2009-06-16  6:12             ` Eric Dumazet
2009-07-05  3:44             ` Herbert Xu
2009-07-05  3:44               ` Herbert Xu
2009-07-05  3:44               ` Herbert Xu
2009-06-16  9:19       ` Mel Gorman
2009-06-16  9:19         ` Mel Gorman
2009-06-16 15:25         ` starlight
2009-06-16 15:25           ` starlight
2009-05-28  8:56   ` [PATCH 0/2] Fixes for hugetlbfs-related problems on shared memory Mel Gorman
2009-05-28  8:56     ` Mel Gorman
2009-06-08  1:25 ` starlight
2009-06-08  1:25   ` starlight
2009-06-08 10:24   ` Mel Gorman
2009-06-08 10:24     ` Mel Gorman

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=20090527163858.GB5145@us.ibm.com \
    --to=ebmunson@us.ibm.com \
    --cc=Lee.Schermerhorn@hp.com \
    --cc=agl@us.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=apw@canonical.com \
    --cc=hugh.dickins@tiscali.co.uk \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    --cc=mingo@elte.hu \
    --cc=stable@kernel.org \
    --cc=starlight@binnacle.cx \
    --cc=wli@movementarian.org \
    /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.