linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: akpm@osdl.org
To: torvalds@osdl.org
Cc: linux-mm@kvack.org, akpm@osdl.org, hugh@veritas.com
Subject: [patch 53/57] rmap 37 page_add_anon_rmap vma
Date: Sat, 22 May 2004 15:15:00 -0700	[thread overview]
Message-ID: <200405222215.i4MMFWr14793@mail.osdl.org> (raw)

From: Hugh Dickins <hugh@veritas.com>

Silly final patch for anonmm rmap: change page_add_anon_rmap's mm arg to vma
arg like anon_vma rmap, to smooth the transition between them.


---

 25-akpm/fs/exec.c            |    2 +-
 25-akpm/include/linux/rmap.h |    5 ++++-
 25-akpm/mm/memory.c          |    8 ++++----
 25-akpm/mm/rmap.c            |    6 +++---
 25-akpm/mm/swapfile.c        |    2 +-
 5 files changed, 13 insertions(+), 10 deletions(-)

diff -puN fs/exec.c~rmap-37-page_add_anon_rmap-vma fs/exec.c
--- 25/fs/exec.c~rmap-37-page_add_anon_rmap-vma	2004-05-22 14:56:29.803560696 -0700
+++ 25-akpm/fs/exec.c	2004-05-22 14:59:35.604314688 -0700
@@ -321,7 +321,7 @@ void install_arg_page(struct vm_area_str
 	lru_cache_add_active(page);
 	set_pte(pte, pte_mkdirty(pte_mkwrite(mk_pte(
 					page, vma->vm_page_prot))));
-	page_add_anon_rmap(page, mm, address);
+	page_add_anon_rmap(page, vma, address);
 	pte_unmap(pte);
 	spin_unlock(&mm->page_table_lock);
 
diff -puN include/linux/rmap.h~rmap-37-page_add_anon_rmap-vma include/linux/rmap.h
--- 25/include/linux/rmap.h~rmap-37-page_add_anon_rmap-vma	2004-05-22 14:56:29.804560544 -0700
+++ 25-akpm/include/linux/rmap.h	2004-05-22 14:59:35.803284440 -0700
@@ -14,7 +14,10 @@
 
 #ifdef CONFIG_MMU
 
-void page_add_anon_rmap(struct page *, struct mm_struct *, unsigned long);
+/*
+ * rmap interfaces called when adding or removing pte of page
+ */
+void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
 void page_add_file_rmap(struct page *);
 void page_remove_rmap(struct page *);
 
diff -puN mm/memory.c~rmap-37-page_add_anon_rmap-vma mm/memory.c
--- 25/mm/memory.c~rmap-37-page_add_anon_rmap-vma	2004-05-22 14:56:29.806560240 -0700
+++ 25-akpm/mm/memory.c	2004-05-22 14:59:35.806283984 -0700
@@ -1088,7 +1088,7 @@ static int do_wp_page(struct mm_struct *
 			page_remove_rmap(old_page);
 		break_cow(vma, new_page, address, page_table);
 		lru_cache_add_active(new_page);
-		page_add_anon_rmap(new_page, mm, address);
+		page_add_anon_rmap(new_page, vma, address);
 
 		/* Free the old page.. */
 		new_page = old_page;
@@ -1366,7 +1366,7 @@ static int do_swap_page(struct mm_struct
 
 	flush_icache_page(vma, page);
 	set_pte(page_table, pte);
-	page_add_anon_rmap(page, mm, address);
+	page_add_anon_rmap(page, vma, address);
 
 	if (write_access || mremap_moved_anon_rmap(page, address)) {
 		if (do_wp_page(mm, vma, address,
@@ -1425,7 +1425,7 @@ do_anonymous_page(struct mm_struct *mm, 
 				      vma);
 		lru_cache_add_active(page);
 		mark_page_accessed(page);
-		page_add_anon_rmap(page, mm, addr);
+		page_add_anon_rmap(page, vma, addr);
 	}
 
 	set_pte(page_table, entry);
@@ -1532,7 +1532,7 @@ retry:
 		set_pte(page_table, entry);
 		if (anon) {
 			lru_cache_add_active(new_page);
-			page_add_anon_rmap(new_page, mm, address);
+			page_add_anon_rmap(new_page, vma, address);
 		} else
 			page_add_file_rmap(new_page);
 		pte_unmap(page_table);
diff -puN mm/rmap.c~rmap-37-page_add_anon_rmap-vma mm/rmap.c
--- 25/mm/rmap.c~rmap-37-page_add_anon_rmap-vma	2004-05-22 14:56:29.808559936 -0700
+++ 25-akpm/mm/rmap.c	2004-05-22 14:59:35.810283376 -0700
@@ -365,15 +365,15 @@ int page_referenced(struct page *page)
 /**
  * page_add_anon_rmap - add pte mapping to an anonymous page
  * @page:	the page to add the mapping to
- * @mm:		the mm in which the mapping is added
+ * @vma:	the vm area in which the mapping is added
  * @address:	the user virtual address mapped
  *
  * The caller needs to hold the mm->page_table_lock.
  */
 void page_add_anon_rmap(struct page *page,
-	struct mm_struct *mm, unsigned long address)
+	struct vm_area_struct *vma, unsigned long address)
 {
-	struct anonmm *anonmm = mm->anonmm;
+	struct anonmm *anonmm = vma->vm_mm->anonmm;
 
 	BUG_ON(PageReserved(page));
 
diff -puN mm/swapfile.c~rmap-37-page_add_anon_rmap-vma mm/swapfile.c
--- 25/mm/swapfile.c~rmap-37-page_add_anon_rmap-vma	2004-05-22 14:56:29.809559784 -0700
+++ 25-akpm/mm/swapfile.c	2004-05-22 14:59:35.811283224 -0700
@@ -433,7 +433,7 @@ unuse_pte(struct vm_area_struct *vma, un
 	vma->vm_mm->rss++;
 	get_page(page);
 	set_pte(dir, pte_mkold(mk_pte(page, vma->vm_page_prot)));
-	page_add_anon_rmap(page, vma->vm_mm, address);
+	page_add_anon_rmap(page, vma, address);
 	swap_free(entry);
 }
 

_
--
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:"aart@kvack.org"> aart@kvack.org </a>

                 reply	other threads:[~2004-05-22 22:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=200405222215.i4MMFWr14793@mail.osdl.org \
    --to=akpm@osdl.org \
    --cc=hugh@veritas.com \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox