From: Andrea Arcangeli <aarcange@redhat.com>
To: Rik van Riel <riel@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
akpm@linux-foundation.org, Mel Gorman <mel@csn.ul.ie>,
Linux-MM <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Christoph Lameter <cl@linux.com>
Subject: Re: [PATCH 1/2] mm: Take all anon_vma locks in anon_vma_lock
Date: Mon, 3 May 2010 20:13:40 +0200 [thread overview]
Message-ID: <20100503181340.GH19891@random.random> (raw)
In-Reply-To: <4BDF0ECC.5080902@redhat.com>
> > Btw, Mel's patch doesn't really match the description of 2/2. 2/2 says
> > that all pages must always be findable in rmap. Mel's patch seems to
> > explicitly say "we want to ignore that thing that is busy for execve". Are
> > we just avoiding a BUG_ON()? Is perhaps the BUG_ON() buggy?
>
> I have no good answer to this question.
>
> Mel? Andrea?
If try_to_unmap is allowed to establish the migration pte, then such
pte has to remain reachable through rmap_walk at all times after that,
or migration_entry_wait will crash because it notices the page has
been migrated already (PG_lock not set) but there is still a migration
pte established. (remove_migration_pte like split_huge_page isn't
allowed to fail finding all migration ptes mapping a page during the
rmap walk)
It's not false positive BUG_ON if that's what you mean, removing the
BUG_ON would still lead to infinite hang waiting on a migration pte
that shouldn't be there anymore.
WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <aarcange@redhat.com>
To: Rik van Riel <riel@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
akpm@linux-foundation.org, Mel Gorman <mel@csn.ul.ie>,
Linux-MM <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Christoph Lameter <cl@linux.com>
Subject: Re: [PATCH 1/2] mm: Take all anon_vma locks in anon_vma_lock
Date: Mon, 3 May 2010 20:13:40 +0200 [thread overview]
Message-ID: <20100503181340.GH19891@random.random> (raw)
In-Reply-To: <4BDF0ECC.5080902@redhat.com>
> > Btw, Mel's patch doesn't really match the description of 2/2. 2/2 says
> > that all pages must always be findable in rmap. Mel's patch seems to
> > explicitly say "we want to ignore that thing that is busy for execve". Are
> > we just avoiding a BUG_ON()? Is perhaps the BUG_ON() buggy?
>
> I have no good answer to this question.
>
> Mel? Andrea?
If try_to_unmap is allowed to establish the migration pte, then such
pte has to remain reachable through rmap_walk at all times after that,
or migration_entry_wait will crash because it notices the page has
been migrated already (PG_lock not set) but there is still a migration
pte established. (remove_migration_pte like split_huge_page isn't
allowed to fail finding all migration ptes mapping a page during the
rmap walk)
It's not false positive BUG_ON if that's what you mean, removing the
BUG_ON would still lead to infinite hang waiting on a migration pte
that shouldn't be there anymore.
--
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>
next prev parent reply other threads:[~2010-05-03 18:14 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-03 16:17 [PATCH 0/2] Fix migration races in rmap_walk() V4 Rik van Riel
2010-05-03 16:17 ` Rik van Riel
2010-05-03 16:18 ` [PATCH 1/2] mm: Take all anon_vma locks in anon_vma_lock Rik van Riel
2010-05-03 16:18 ` Rik van Riel
2010-05-03 16:41 ` Linus Torvalds
2010-05-03 16:41 ` Linus Torvalds
2010-05-03 16:53 ` Rik van Riel
2010-05-03 16:53 ` Rik van Riel
2010-05-03 17:17 ` Linus Torvalds
2010-05-03 17:17 ` Linus Torvalds
2010-05-03 17:58 ` Rik van Riel
2010-05-03 17:58 ` Rik van Riel
2010-05-03 18:13 ` Andrea Arcangeli [this message]
2010-05-03 18:13 ` Andrea Arcangeli
2010-05-03 18:19 ` Linus Torvalds
2010-05-03 18:19 ` Linus Torvalds
2010-05-03 18:38 ` Rik van Riel
2010-05-03 18:38 ` Rik van Riel
2010-05-04 13:12 ` Mel Gorman
2010-05-04 13:12 ` Mel Gorman
2010-05-03 16:55 ` Peter Zijlstra
2010-05-03 16:55 ` Peter Zijlstra
2010-05-03 17:02 ` Andrea Arcangeli
2010-05-03 17:02 ` Andrea Arcangeli
2010-05-03 17:11 ` Peter Zijlstra
2010-05-03 17:11 ` Peter Zijlstra
2010-05-03 17:18 ` Andrea Arcangeli
2010-05-03 17:18 ` Andrea Arcangeli
2010-05-03 16:19 ` [PATCH 2/2] mm: fix race between shift_arg_pages and rmap_walk Rik van Riel
2010-05-03 16:19 ` Rik van Riel
2010-05-03 16:34 ` Linus Torvalds
2010-05-03 16:34 ` Linus Torvalds
2010-05-03 16:37 ` Linus Torvalds
2010-05-03 16:37 ` Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2010-04-29 8:32 [PATCH 0/2] Fix migration races in rmap_walk() V3 Mel Gorman
2010-04-29 8:32 ` [PATCH 1/2] mm: Take all anon_vma locks in anon_vma_lock Mel Gorman
2010-04-29 8:32 ` Mel Gorman
2010-05-02 17:28 ` Minchan Kim
2010-05-02 17:28 ` 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=20100503181340.GH19891@random.random \
--to=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=minchan.kim@gmail.com \
--cc=riel@redhat.com \
--cc=torvalds@linux-foundation.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.