From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
Hugh Dickins <hughd@google.com>,
Dave Hansen <dave.hansen@intel.com>,
Johannes Weiner <hannes@cmpxchg.org>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
John Stultz <john.stultz@linaro.org>, Jason Evans <je@fb.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 1/6] mm: clean up PAGE_MAPPING_FLAGS
Date: Fri, 14 Mar 2014 15:37:45 +0900 [thread overview]
Message-ID: <1394779070-8545-2-git-send-email-minchan@kernel.org> (raw)
In-Reply-To: <1394779070-8545-1-git-send-email-minchan@kernel.org>
It's preparation to squeeze a new flag PAGE_MAPPING_LZFREE so
functions to get a anon_vma from mapping shouldn't assume that
+/- PAGE_MAPPING_ANON is enough.
Signed-off-by: Minchan Kim <minchan@kernel.org>
---
mm/rmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/rmap.c b/mm/rmap.c
index d9d42316a99a..76069afa6b81 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -412,7 +412,7 @@ struct anon_vma *page_get_anon_vma(struct page *page)
if (!page_mapped(page))
goto out;
- anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON);
+ anon_vma = page_rmapping(page);
if (!atomic_inc_not_zero(&anon_vma->refcount)) {
anon_vma = NULL;
goto out;
@@ -455,7 +455,7 @@ struct anon_vma *page_lock_anon_vma_read(struct page *page)
if (!page_mapped(page))
goto out;
- anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON);
+ anon_vma = page_rmapping(page);
root_anon_vma = ACCESS_ONCE(anon_vma->root);
if (down_read_trylock(&root_anon_vma->rwsem)) {
/*
--
1.9.0
--
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: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Rik van Riel <riel@redhat.com>, Mel Gorman <mgorman@suse.de>,
Hugh Dickins <hughd@google.com>,
Dave Hansen <dave.hansen@intel.com>,
Johannes Weiner <hannes@cmpxchg.org>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
John Stultz <john.stultz@linaro.org>, Jason Evans <je@fb.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 1/6] mm: clean up PAGE_MAPPING_FLAGS
Date: Fri, 14 Mar 2014 15:37:45 +0900 [thread overview]
Message-ID: <1394779070-8545-2-git-send-email-minchan@kernel.org> (raw)
In-Reply-To: <1394779070-8545-1-git-send-email-minchan@kernel.org>
It's preparation to squeeze a new flag PAGE_MAPPING_LZFREE so
functions to get a anon_vma from mapping shouldn't assume that
+/- PAGE_MAPPING_ANON is enough.
Signed-off-by: Minchan Kim <minchan@kernel.org>
---
mm/rmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/rmap.c b/mm/rmap.c
index d9d42316a99a..76069afa6b81 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -412,7 +412,7 @@ struct anon_vma *page_get_anon_vma(struct page *page)
if (!page_mapped(page))
goto out;
- anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON);
+ anon_vma = page_rmapping(page);
if (!atomic_inc_not_zero(&anon_vma->refcount)) {
anon_vma = NULL;
goto out;
@@ -455,7 +455,7 @@ struct anon_vma *page_lock_anon_vma_read(struct page *page)
if (!page_mapped(page))
goto out;
- anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON);
+ anon_vma = page_rmapping(page);
root_anon_vma = ACCESS_ONCE(anon_vma->root);
if (down_read_trylock(&root_anon_vma->rwsem)) {
/*
--
1.9.0
next prev parent reply other threads:[~2014-03-14 6:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-14 6:37 [RFC 0/6] mm: support madvise(MADV_FREE) Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 6:37 ` Minchan Kim [this message]
2014-03-14 6:37 ` [RFC 1/6] mm: clean up PAGE_MAPPING_FLAGS Minchan Kim
2014-03-14 6:37 ` [RFC 2/6] mm: work deactivate_page with anon pages Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 6:37 ` [RFC 3/6] mm: support madvise(MADV_FREE) Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 7:49 ` Minchan Kim
2014-03-14 7:49 ` Minchan Kim
2014-03-14 13:33 ` Kirill A. Shutemov
2014-03-14 13:33 ` Kirill A. Shutemov
2014-03-14 15:24 ` Minchan Kim
2014-03-14 15:24 ` Minchan Kim
2014-03-18 18:26 ` Johannes Weiner
2014-03-18 18:26 ` Johannes Weiner
2014-03-19 1:22 ` Minchan Kim
2014-03-14 6:37 ` [RFC 4/6] mm: add stat about lazyfree pages Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 6:37 ` [RFC 5/6] mm: reclaim lazyfree pages in swapless system Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 6:37 ` [RFC 6/6] mm: ksm: don't merge lazyfree page Minchan Kim
2014-03-14 6:37 ` Minchan Kim
2014-03-14 7:37 ` [RFC 0/6] mm: support madvise(MADV_FREE) Zhang Yanfei
2014-03-14 7:37 ` Zhang Yanfei
2014-03-14 7:56 ` Minchan Kim
2014-03-14 7:56 ` Minchan Kim
2014-03-18 17:55 ` Andy Lutomirski
2014-03-18 17:55 ` Andy Lutomirski
2014-03-19 0:18 ` Minchan Kim
2014-03-19 0:23 ` Andy Lutomirski
2014-03-19 0:23 ` Andy Lutomirski
2014-03-19 1:02 ` Minchan Kim
2014-03-19 5:15 ` Johannes Weiner
2014-03-19 5:15 ` Johannes Weiner
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=1394779070-8545-2-git-send-email-minchan@kernel.org \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=dave.hansen@intel.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=je@fb.com \
--cc=john.stultz@linaro.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--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.