All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <4794C40A.3020500@qumranet.com>

diff --git a/a/2.hdr b/N1/2.hdr
index 7961e49..5c9a3e5 100644
--- a/a/2.hdr
+++ b/N1/2.hdr
@@ -1,5 +1,5 @@
 Content-Type: text/x-patch;
-	name="0005-memory.c-add-new-exported-function-replace_page.patch"
+ name="0005-memory.c-add-new-exported-function-replace_page.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
-	filename*0="0005-memory.c-add-new-exported-function-replace_page.patch"
+ filename*0="0005-memory.c-add-new-exported-function-replace_page.patch"
diff --git a/a/2.txt b/N1/2.txt
index af455c1..8b13789 100644
--- a/a/2.txt
+++ b/N1/2.txt
@@ -1,102 +1 @@
->From c6fc21397e37481696723115cb1680f42661be48 Mon Sep 17 00:00:00 2001
-From: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
-Date: Mon, 21 Jan 2008 17:04:45 +0200
-Subject: [PATCH] memory.c: add new exported function replace_page()
- replace_page() - replace the pte mapping related to vm area between two pages
- (from oldpage to newpage)
 
-Signed-off-by: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
----
- include/linux/mm.h |    5 +++-
- mm/memory.c        |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 64 insertions(+), 1 deletions(-)
-
-diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 1b7b95c..a311c25 100644
---- a/include/linux/mm.h
-+++ b/include/linux/mm.h
-@@ -1094,7 +1094,10 @@ int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
- 			unsigned long pfn, unsigned long size, pgprot_t);
- int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
- int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
--			unsigned long pfn);
-+		  unsigned long pfn);
-+
-+int replace_page(struct vm_area_struct *vma, struct page *oldpage,
-+		 struct page *newpage, pgprot_t prot);
- 
- struct page *follow_page(struct vm_area_struct *, unsigned long address,
- 			unsigned int foll_flags);
-diff --git a/mm/memory.c b/mm/memory.c
-index 4bf0b6d..d8cb36b 100644
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -2360,6 +2360,66 @@ static int do_linear_fault(struct mm_struct *mm, struct vm_area_struct *vma,
- 	return __do_fault(mm, vma, address, pmd, pgoff, flags, orig_pte);
- }
- 
-+/**
-+ * replace_page - replace the pte mapping related to vm area between two pages
-+ * (from oldpage to newpage)
-+ */
-+int replace_page(struct vm_area_struct *vma, struct page *oldpage,
-+		 struct page *newpage, pgprot_t prot)
-+{
-+	struct mm_struct *mm = vma->vm_mm;
-+	pgd_t *pgd;
-+	pud_t *pud;
-+	pmd_t *pmd;
-+	pte_t *ptep;
-+	spinlock_t *ptl;
-+	unsigned long addr;
-+	int ret;
-+
-+	BUG_ON(!PageLocked(oldpage));
-+
-+	ret = -EFAULT;
-+	addr = page_address_in_vma(oldpage, vma);
-+	if (addr == -EFAULT)
-+		goto out;
-+
-+	pgd = pgd_offset(mm, addr);
-+	if (!pgd_present(*pgd))
-+		goto out;
-+
-+	pud = pud_offset(pgd, addr);
-+	if (!pud_present(*pud))
-+		goto out;
-+
-+	pmd = pmd_offset(pud, addr);
-+	if (!pmd_present(*pmd))
-+		goto out;
-+
-+	ptep = pte_offset_map_lock(mm, pmd, addr, &ptl);
-+	if (!ptep)
-+		goto out;
-+
-+	ret = 0;
-+	get_page(newpage);
-+	page_add_file_rmap(newpage);
-+
-+	flush_cache_page(vma, addr, pte_pfn(*ptep));
-+	ptep_clear_flush(vma, addr, ptep);
-+	set_pte_at(mm, addr, ptep, mk_pte(newpage, prot));
-+
-+	page_remove_rmap(oldpage, vma);
-+	if (PageAnon(oldpage)) {
-+		dec_mm_counter(mm, anon_rss);
-+		inc_mm_counter(mm, file_rss);
-+	}
-+	put_page(oldpage);
-+
-+	pte_unmap_unlock(ptep, ptl);
-+out:
-+	return ret;
-+}
-+EXPORT_SYMBOL_GPL(replace_page);
-+
- 
- /*
-  * do_no_pfn() tries to create a new page mapping for a page without
--- 
-1.5.3.6
diff --git a/a/3.hdr b/a/3.hdr
deleted file mode 100644
index 4b86001..0000000
--- a/a/3.hdr
+++ /dev/null
@@ -1,4 +0,0 @@
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
diff --git a/a/3.txt b/a/3.txt
deleted file mode 100644
index 7656627..0000000
--- a/a/3.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--------------------------------------------------------------------------
-This SF.net email is sponsored by: Microsoft
-Defy all challenges. Microsoft(R) Visual Studio 2008.
-http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
diff --git a/a/4.hdr b/a/4.hdr
deleted file mode 100644
index 4b86001..0000000
--- a/a/4.hdr
+++ /dev/null
@@ -1,4 +0,0 @@
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
diff --git a/a/4.txt b/a/4.txt
deleted file mode 100644
index 960c924..0000000
--- a/a/4.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-_______________________________________________
-kvm-devel mailing list
-kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
-https://lists.sourceforge.net/lists/listinfo/kvm-devel
diff --git a/a/content_digest b/N1/content_digest
index 4d008f9..bf32d10 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,12 +1,12 @@
- "From\0Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>\0"
+ "From\0Izik Eidus <izike@qumranet.com>\0"
  "Subject\0[RFC][PATCH 2/5] add new exported function replace_page()\0"
  "Date\0Mon, 21 Jan 2008 18:10:50 +0200\0"
- "To\0kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>"
-  andrea-atKUWr5tajBWk0Htik3J/w@public.gmane.org
-  avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org
-  dor.laor-atKUWr5tajBWk0Htik3J/w@public.gmane.org
-  linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org
- " yaniv-atKUWr5tajBWk0Htik3J/w@public.gmane.org\0"
+ "To\0kvm-devel <kvm-devel@lists.sourceforge.net>"
+  andrea@qumranet.com
+  avi@qumranet.com
+  dor.laor@qumranet.com
+  linux-mm@kvack.org
+ " yaniv@qumranet.com\0"
  "\01:1\0"
  "b\0"
  "\n"
@@ -15,119 +15,5 @@
  "\01:2\0"
  "fn\00005-memory.c-add-new-exported-function-replace_page.patch\0"
  "b\0"
- ">From c6fc21397e37481696723115cb1680f42661be48 Mon Sep 17 00:00:00 2001\n"
- "From: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>\n"
- "Date: Mon, 21 Jan 2008 17:04:45 +0200\n"
- "Subject: [PATCH] memory.c: add new exported function replace_page()\n"
- " replace_page() - replace the pte mapping related to vm area between two pages\n"
- " (from oldpage to newpage)\n"
- "\n"
- "Signed-off-by: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>\n"
- "---\n"
- " include/linux/mm.h |    5 +++-\n"
- " mm/memory.c        |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
- " 2 files changed, 64 insertions(+), 1 deletions(-)\n"
- "\n"
- "diff --git a/include/linux/mm.h b/include/linux/mm.h\n"
- "index 1b7b95c..a311c25 100644\n"
- "--- a/include/linux/mm.h\n"
- "+++ b/include/linux/mm.h\n"
- "@@ -1094,7 +1094,10 @@ int remap_pfn_range(struct vm_area_struct *, unsigned long addr,\n"
- " \t\t\tunsigned long pfn, unsigned long size, pgprot_t);\n"
- " int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);\n"
- " int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,\n"
- "-\t\t\tunsigned long pfn);\n"
- "+\t\t  unsigned long pfn);\n"
- "+\n"
- "+int replace_page(struct vm_area_struct *vma, struct page *oldpage,\n"
- "+\t\t struct page *newpage, pgprot_t prot);\n"
- " \n"
- " struct page *follow_page(struct vm_area_struct *, unsigned long address,\n"
- " \t\t\tunsigned int foll_flags);\n"
- "diff --git a/mm/memory.c b/mm/memory.c\n"
- "index 4bf0b6d..d8cb36b 100644\n"
- "--- a/mm/memory.c\n"
- "+++ b/mm/memory.c\n"
- "@@ -2360,6 +2360,66 @@ static int do_linear_fault(struct mm_struct *mm, struct vm_area_struct *vma,\n"
- " \treturn __do_fault(mm, vma, address, pmd, pgoff, flags, orig_pte);\n"
- " }\n"
- " \n"
- "+/**\n"
- "+ * replace_page - replace the pte mapping related to vm area between two pages\n"
- "+ * (from oldpage to newpage)\n"
- "+ */\n"
- "+int replace_page(struct vm_area_struct *vma, struct page *oldpage,\n"
- "+\t\t struct page *newpage, pgprot_t prot)\n"
- "+{\n"
- "+\tstruct mm_struct *mm = vma->vm_mm;\n"
- "+\tpgd_t *pgd;\n"
- "+\tpud_t *pud;\n"
- "+\tpmd_t *pmd;\n"
- "+\tpte_t *ptep;\n"
- "+\tspinlock_t *ptl;\n"
- "+\tunsigned long addr;\n"
- "+\tint ret;\n"
- "+\n"
- "+\tBUG_ON(!PageLocked(oldpage));\n"
- "+\n"
- "+\tret = -EFAULT;\n"
- "+\taddr = page_address_in_vma(oldpage, vma);\n"
- "+\tif (addr == -EFAULT)\n"
- "+\t\tgoto out;\n"
- "+\n"
- "+\tpgd = pgd_offset(mm, addr);\n"
- "+\tif (!pgd_present(*pgd))\n"
- "+\t\tgoto out;\n"
- "+\n"
- "+\tpud = pud_offset(pgd, addr);\n"
- "+\tif (!pud_present(*pud))\n"
- "+\t\tgoto out;\n"
- "+\n"
- "+\tpmd = pmd_offset(pud, addr);\n"
- "+\tif (!pmd_present(*pmd))\n"
- "+\t\tgoto out;\n"
- "+\n"
- "+\tptep = pte_offset_map_lock(mm, pmd, addr, &ptl);\n"
- "+\tif (!ptep)\n"
- "+\t\tgoto out;\n"
- "+\n"
- "+\tret = 0;\n"
- "+\tget_page(newpage);\n"
- "+\tpage_add_file_rmap(newpage);\n"
- "+\n"
- "+\tflush_cache_page(vma, addr, pte_pfn(*ptep));\n"
- "+\tptep_clear_flush(vma, addr, ptep);\n"
- "+\tset_pte_at(mm, addr, ptep, mk_pte(newpage, prot));\n"
- "+\n"
- "+\tpage_remove_rmap(oldpage, vma);\n"
- "+\tif (PageAnon(oldpage)) {\n"
- "+\t\tdec_mm_counter(mm, anon_rss);\n"
- "+\t\tinc_mm_counter(mm, file_rss);\n"
- "+\t}\n"
- "+\tput_page(oldpage);\n"
- "+\n"
- "+\tpte_unmap_unlock(ptep, ptl);\n"
- "+out:\n"
- "+\treturn ret;\n"
- "+}\n"
- "+EXPORT_SYMBOL_GPL(replace_page);\n"
- "+\n"
- " \n"
- " /*\n"
- "  * do_no_pfn() tries to create a new page mapping for a page without\n"
- "-- \n"
- 1.5.3.6
- "\01:3\0"
- "b\0"
- "-------------------------------------------------------------------------\n"
- "This SF.net email is sponsored by: Microsoft\n"
- "Defy all challenges. Microsoft(R) Visual Studio 2008.\n"
- http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
- "\01:4\0"
- "b\0"
- "_______________________________________________\n"
- "kvm-devel mailing list\n"
- "kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org\n"
- https://lists.sourceforge.net/lists/listinfo/kvm-devel
 
-3b024062297e7b937490673d266d12722f7abe91cd0067a371803ef84729b86b
+0bc6ac75d4b694babb2ba933391cfbb5cfb9199f7d20ab7d0ef8409aea000a0c

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.