[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080130180312.GV26420@sgi.com>
Date: Wed, 30 Jan 2008 12:03:12 -0600
From: Robin Holt <holt@....com>
To: Christoph Lameter <clameter@....com>
Cc: Andrea Arcangeli <andrea@...ranet.com>, Robin Holt <holt@....com>,
Avi Kivity <avi@...ranet.com>, Izik Eidus <izike@...ranet.com>,
Nick Piggin <npiggin@...e.de>, kvm-devel@...ts.sourceforge.net,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>, steiner@....com,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
daniel.blueman@...drics.com, Hugh Dickins <hugh@...itas.com>
Subject: Re: [patch 3/6] mmu_notifier: invalidate_page callbacks for
subsystems with rmap
This is the second part of a patch posted to patch 1/6.
Index: git-linus/mm/rmap.c
===================================================================
--- git-linus.orig/mm/rmap.c 2008-01-30 11:55:56.000000000 -0600
+++ git-linus/mm/rmap.c 2008-01-30 12:01:28.000000000 -0600
@@ -476,8 +476,10 @@ int page_mkclean(struct page *page)
struct address_space *mapping = page_mapping(page);
if (mapping) {
ret = page_mkclean_file(mapping, page);
- if (unlikely(PageExternalRmap(page)))
+ if (unlikely(PageExternalRmap(page))) {
mmu_rmap_notifier(invalidate_page, page);
+ ClearPageExported(page);
+ }
if (page_test_dirty(page)) {
page_clear_dirty(page);
ret = 1;
@@ -980,8 +982,10 @@ int try_to_unmap(struct page *page, int
else
ret = try_to_unmap_file(page, migration);
- if (unlikely(PageExternalRmap(page)))
+ if (unlikely(PageExternalRmap(page))) {
mmu_rmap_notifier(invalidate_page, page);
+ ClearPageExported(page);
+ }
if (!page_mapped(page))
ret = SWAP_SUCCESS;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists