All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@qumranet.com>
To: Robin Holt <holt@sgi.com>
Cc: Christoph Lameter <clameter@sgi.com>,
	akpm@linux-foundation.org, Nick Piggin <npiggin@suse.de>,
	Steve Wise <swise@opengridcomputing.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	linux-mm@kvack.org, Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>, Jack Steiner <steiner@sgi.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	kvm-devel@lists.sourceforge.net, general@lists.openfabrics.org,
	Hugh Dickins <hugh@veritas.com>
Subject: Re: [PATCH 1 of 9] Lock the entire mm to prevent any mmu related operation to happen
Date: Thu, 17 Apr 2008 19:14:43 +0200	[thread overview]
Message-ID: <20080417171443.GM17187@duo.random> (raw)
In-Reply-To: <20080417163642.GE11364@sgi.com>

On Thu, Apr 17, 2008 at 11:36:42AM -0500, Robin Holt wrote:
> In this case, we are not making the call to unregister, we are waiting
> for the _release callout which has already removed it from the list.
> 
> In the event that the user has removed all the grants, we use unregister.
> That typically does not occur.  We merely wait for exit processing to
> clean up the structures.

Then it's very strange. LIST_POISON1 is set in n->next. If it was a
second hlist_del triggering the bug in theory list_poison2 should
trigger first, so perhaps it's really a notifier running despite a
mm_lock is taken? Could you post a full stack trace so I can see who's
running into LIST_POISON1? If it's really a notifier running outside
of some mm_lock that will be _immediately_ visible from the stack
trace that triggered the LIST_POISON1!

Also note, EMM isn't using the clean hlist_del, it's implementing list
by hand (with zero runtime gain) so all the debugging may not be
existent in EMM, so if it's really a mm_lock race, and it only
triggers with mmu notifiers and not with EMM, it doesn't necessarily
mean EMM is bug free. If you've a full stack trace it would greatly
help to verify what is mangling over the list when the oops triggers.

Thanks!
Andrea

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <andrea@qumranet.com>
To: Robin Holt <holt@sgi.com>
Cc: Nick Piggin <npiggin@suse.de>, Jack Steiner <steiner@sgi.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	kvm-devel@lists.sourceforge.net,
	Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>,
	Steve Wise <swise@opengridcomputing.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	linux-mm@kvack.org, general@lists.openfabrics.org,
	Hugh Dickins <hugh@veritas.com>,
	akpm@linux-foundation.org, Christoph Lameter <clameter@sgi.com>
Subject: Re: [PATCH 1 of 9] Lock the entire mm to prevent any mmu related	operation to happen
Date: Thu, 17 Apr 2008 19:14:43 +0200	[thread overview]
Message-ID: <20080417171443.GM17187@duo.random> (raw)
In-Reply-To: <20080417163642.GE11364@sgi.com>

On Thu, Apr 17, 2008 at 11:36:42AM -0500, Robin Holt wrote:
> In this case, we are not making the call to unregister, we are waiting
> for the _release callout which has already removed it from the list.
> 
> In the event that the user has removed all the grants, we use unregister.
> That typically does not occur.  We merely wait for exit processing to
> clean up the structures.

Then it's very strange. LIST_POISON1 is set in n->next. If it was a
second hlist_del triggering the bug in theory list_poison2 should
trigger first, so perhaps it's really a notifier running despite a
mm_lock is taken? Could you post a full stack trace so I can see who's
running into LIST_POISON1? If it's really a notifier running outside
of some mm_lock that will be _immediately_ visible from the stack
trace that triggered the LIST_POISON1!

Also note, EMM isn't using the clean hlist_del, it's implementing list
by hand (with zero runtime gain) so all the debugging may not be
existent in EMM, so if it's really a mm_lock race, and it only
triggers with mmu notifiers and not with EMM, it doesn't necessarily
mean EMM is bug free. If you've a full stack trace it would greatly
help to verify what is mangling over the list when the oops triggers.

Thanks!
Andrea

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <andrea@qumranet.com>
To: Robin Holt <holt@sgi.com>
Cc: Christoph Lameter <clameter@sgi.com>,
	akpm@linux-foundation.org, Nick Piggin <npiggin@suse.de>,
	Steve Wise <swise@opengridcomputing.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	linux-mm@kvack.org, Kanoj Sarcar <kanojsarcar@yahoo.com>,
	Roland Dreier <rdreier@cisco.com>, Jack Steiner <steiner@sgi.com>,
	linux-kernel@vger.kernel.org, Avi Kivity <avi@qumranet.com>,
	kvm-devel@lists.sourceforge.net, general@lists.openfabrics.org,
	Hugh Dickins <hugh@veritas.com>
Subject: Re: [PATCH 1 of 9] Lock the entire mm to prevent any mmu related operation to happen
Date: Thu, 17 Apr 2008 19:14:43 +0200	[thread overview]
Message-ID: <20080417171443.GM17187@duo.random> (raw)
In-Reply-To: <20080417163642.GE11364@sgi.com>

On Thu, Apr 17, 2008 at 11:36:42AM -0500, Robin Holt wrote:
> In this case, we are not making the call to unregister, we are waiting
> for the _release callout which has already removed it from the list.
> 
> In the event that the user has removed all the grants, we use unregister.
> That typically does not occur.  We merely wait for exit processing to
> clean up the structures.

Then it's very strange. LIST_POISON1 is set in n->next. If it was a
second hlist_del triggering the bug in theory list_poison2 should
trigger first, so perhaps it's really a notifier running despite a
mm_lock is taken? Could you post a full stack trace so I can see who's
running into LIST_POISON1? If it's really a notifier running outside
of some mm_lock that will be _immediately_ visible from the stack
trace that triggered the LIST_POISON1!

Also note, EMM isn't using the clean hlist_del, it's implementing list
by hand (with zero runtime gain) so all the debugging may not be
existent in EMM, so if it's really a mm_lock race, and it only
triggers with mmu notifiers and not with EMM, it doesn't necessarily
mean EMM is bug free. If you've a full stack trace it would greatly
help to verify what is mangling over the list when the oops triggers.

Thanks!
Andrea

--
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>

  reply	other threads:[~2008-04-17 17:14 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-08 15:44 [PATCH 0 of 9] mmu notifier #v12 Andrea Arcangeli
2008-04-08 15:44 ` Andrea Arcangeli
2008-04-08 15:44 ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 1 of 9] Lock the entire mm to prevent any mmu related operation to happen Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-16 16:33   ` Robin Holt
2008-04-16 16:33     ` Robin Holt
2008-04-16 16:33     ` [ofa-general] " Robin Holt
2008-04-16 18:35     ` Christoph Lameter
2008-04-16 18:35       ` Christoph Lameter
2008-04-16 18:35       ` [ofa-general] " Christoph Lameter
2008-04-16 19:02       ` Robin Holt
2008-04-16 19:02         ` Robin Holt
2008-04-16 19:02         ` Robin Holt
2008-04-16 19:15         ` Christoph Lameter
2008-04-16 19:15           ` Christoph Lameter
2008-04-16 19:15           ` [ofa-general] " Christoph Lameter
2008-04-17 11:14           ` Robin Holt
2008-04-17 11:14             ` Robin Holt
2008-04-17 11:14             ` [ofa-general] " Robin Holt
2008-04-17 15:51       ` Andrea Arcangeli
2008-04-17 15:51         ` Andrea Arcangeli
2008-04-17 16:36         ` Robin Holt
2008-04-17 16:36           ` Robin Holt
2008-04-17 17:14           ` Andrea Arcangeli [this message]
2008-04-17 17:14             ` Andrea Arcangeli
2008-04-17 17:14             ` Andrea Arcangeli
2008-04-17 17:25             ` Robin Holt
2008-04-17 17:25               ` Robin Holt
2008-04-17 17:25               ` [ofa-general] " Robin Holt
2008-04-17 19:10             ` Christoph Lameter
2008-04-17 19:10               ` Christoph Lameter
2008-04-17 22:16               ` Andrea Arcangeli
2008-04-17 22:16                 ` Andrea Arcangeli
2008-04-17 22:16                 ` [ofa-general] " Andrea Arcangeli
2008-04-22  5:06   ` Rusty Russell
2008-04-22  5:06     ` Rusty Russell
2008-04-22  5:06     ` Rusty Russell
2008-04-25 16:56     ` Andrea Arcangeli
2008-04-25 16:56       ` Andrea Arcangeli
2008-04-25 17:04       ` Andrea Arcangeli
2008-04-25 17:04         ` Andrea Arcangeli
2008-04-25 19:25       ` Robin Holt
2008-04-25 19:25         ` Robin Holt
2008-04-25 19:25         ` [ofa-general] " Robin Holt
2008-04-26  0:57         ` Andrea Arcangeli
2008-04-26  0:57           ` Andrea Arcangeli
2008-04-26  0:57           ` Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 2 of 9] Core of mmu notifiers Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 16:26   ` Robin Holt
2008-04-08 16:26     ` Robin Holt
2008-04-08 16:26     ` [ofa-general] " Robin Holt
2008-04-08 17:05     ` Andrea Arcangeli
2008-04-08 17:05       ` Andrea Arcangeli
2008-04-14 19:57   ` Christoph Lameter
2008-04-14 19:57     ` Christoph Lameter
2008-04-14 19:57     ` [ofa-general] " Christoph Lameter
2008-04-14 19:59   ` Christoph Lameter
2008-04-14 19:59     ` Christoph Lameter
2008-04-14 19:59     ` Christoph Lameter
2008-04-08 15:44 ` [PATCH 3 of 9] Moves all mmu notifier methods outside the PT lock (first and not last Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-14 19:57   ` Christoph Lameter
2008-04-14 19:57     ` Christoph Lameter
2008-04-14 19:57     ` Christoph Lameter
2008-04-08 15:44 ` [PATCH 4 of 9] Move the tlb flushing into free_pgtables. The conversion of the locks Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 5 of 9] The conversion to a rwsem allows callbacks during rmap traversal Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 6 of 9] We no longer abort unmapping in unmap vmas because we can reschedule while Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 7 of 9] Convert the anon_vma spinlock to a rw semaphore. This allows concurrent Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 8 of 9] XPMEM would have used sys_madvise() except that madvise_dontneed() Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 15:44 ` [PATCH 9 of 9] This patch adds a lock ordering rule to avoid a potential deadlock when Andrea Arcangeli
2008-04-08 15:44   ` Andrea Arcangeli
2008-04-08 15:44   ` [ofa-general] " Andrea Arcangeli
2008-04-08 21:46 ` [PATCH 0 of 9] mmu notifier #v12 Avi Kivity
2008-04-08 21:46   ` Avi Kivity
2008-04-08 21:46   ` [ofa-general] " Avi Kivity
2008-04-08 22:06   ` Andrea Arcangeli
2008-04-08 22:06     ` Andrea Arcangeli
2008-04-08 22:06     ` [ofa-general] " Andrea Arcangeli
2008-04-09 13:17 ` Robin Holt
2008-04-09 13:17   ` Robin Holt
2008-04-09 13:17   ` [ofa-general] " Robin Holt
2008-04-09 14:44   ` Andrea Arcangeli
2008-04-09 14:44     ` Andrea Arcangeli
2008-04-09 14:44     ` [ofa-general] " Andrea Arcangeli
2008-04-09 18:55     ` Robin Holt
2008-04-09 18:55       ` Robin Holt
2008-04-09 18:55       ` [ofa-general] " Robin Holt
2008-04-22  7:20       ` Andrea Arcangeli
2008-04-22  7:20         ` Andrea Arcangeli
2008-04-22  7:20         ` [ofa-general] " Andrea Arcangeli
2008-04-22 12:00         ` Andrea Arcangeli
2008-04-22 12:00           ` Andrea Arcangeli
2008-04-22 12:00           ` [ofa-general] " Andrea Arcangeli
2008-04-22 13:01           ` Robin Holt
2008-04-22 13:01             ` Robin Holt
2008-04-22 13:01             ` [ofa-general] " Robin Holt
2008-04-22 13:21             ` Andrea Arcangeli
2008-04-22 13:21               ` Andrea Arcangeli
2008-04-22 13:21               ` [ofa-general] " Andrea Arcangeli
2008-04-22 13:36               ` Robin Holt
2008-04-22 13:36                 ` Robin Holt
2008-04-22 13:36                 ` [ofa-general] " Robin Holt
2008-04-22 13:48                 ` Andrea Arcangeli
2008-04-22 13:48                   ` Andrea Arcangeli
2008-04-22 13:48                   ` Andrea Arcangeli
2008-04-22 15:26                   ` Robin Holt
2008-04-22 15:26                     ` Robin Holt
2008-04-14 23:09 ` Christoph Lameter
2008-04-14 23:09   ` Christoph Lameter
2008-04-14 23:09   ` [ofa-general] " Christoph Lameter

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=20080417171443.GM17187@duo.random \
    --to=andrea@qumranet.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=avi@qumranet.com \
    --cc=clameter@sgi.com \
    --cc=general@lists.openfabrics.org \
    --cc=holt@sgi.com \
    --cc=hugh@veritas.com \
    --cc=kanojsarcar@yahoo.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=npiggin@suse.de \
    --cc=rdreier@cisco.com \
    --cc=steiner@sgi.com \
    --cc=swise@opengridcomputing.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.