Re: [patch 3/6] mmu_notifier: invalidate_page callbacks forsubsystems with rmap

From: Robin Holt
Date: Wed Jan 30 2008 - 13:03:25 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/