diff for duplicates of <20170407171055.GA16527@redhat.com>
diff --git a/a/1.txt b/N1/1.txt
index d662582..01af218 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -5,7 +5,7 @@ On Fri, Apr 07, 2017 at 06:37:37PM +0200, Michal Hocko wrote:
> > > > On Fri, Apr 07, 2017 at 04:45:04PM +0200, Michal Hocko wrote:
> > > > > On Fri 07-04-17 10:32:49, Jerome Glisse wrote:
> > > > > > On Fri, Apr 07, 2017 at 02:13:49PM +0200, Michal Hocko wrote:
-> > > > > > > On Wed 05-04-17 16:40:11, Jérôme Glisse wrote:
+> > > > > > > On Wed 05-04-17 16:40:11, Jerome Glisse wrote:
> > > > > > > > When hotpluging memory we want more information on the type of memory.
> > > > > > > > This is to extend ZONE_DEVICE to support new type of memory other than
> > > > > > > > the persistent memory. Existing user of ZONE_DEVICE (persistent memory)
@@ -70,4 +70,4 @@ I don't mind rebasing on top of your patchset. What ever is easier for
Andrew i guess.
Cheers,
-Jérôme
\ No newline at end of file
+Jerome
\ No newline at end of file
diff --git a/a/2.txt b/N1/2.txt
index 828aa3a..e69de29 100644
--- a/a/2.txt
+++ b/N1/2.txt
@@ -1,109 +0,0 @@
->From 7f414aef1e84c8ff65102e571f808f6362212350 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse@redhat.com>
-Date: Fri, 7 Apr 2017 12:51:20 -0400
-Subject: [PATCH] mm/memory_hotplug: add add_pages() hotplug without linear
- mapping
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For some memory hotplug we do not want the linear mapping to the
-hotpluged physical range. Add a new helper that just do __add_pages()
-and other arch specific bits if necessary.
-
-Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
----
- arch/x86/Kconfig | 1 +
- arch/x86/mm/init_64.c | 17 ++++++++++++++++-
- mm/Kconfig | 2 ++
- mm/memory_hotplug.c | 18 ++++++++++++++++++
- 4 files changed, 37 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index cc98d5a..4024fee 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -25,6 +25,7 @@ config X86_64
- select ARCH_HAS_GIGANTIC_PAGE
- select ARCH_SUPPORTS_INT128
- select ARCH_USE_CMPXCHG_LOCKREF
-+ select ARCH_HAS_ADD_PAGES
- select HAVE_ARCH_SOFT_DIRTY
- select MODULES_USE_ELF_RELA
- select X86_DEV_DMA_OPS
-diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
-index 15173d3..933032c 100644
---- a/arch/x86/mm/init_64.c
-+++ b/arch/x86/mm/init_64.c
-@@ -626,7 +626,7 @@ void __init paging_init(void)
- * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need
- * updating.
- */
--static void update_end_of_memory_vars(u64 start, u64 size)
-+static void update_end_of_memory_vars(u64 start, u64 size)
- {
- unsigned long end_pfn = PFN_UP(start + size);
-
-@@ -662,6 +662,21 @@ int arch_add_memory(int nid, u64 start, u64 size, bool for_device)
- }
- EXPORT_SYMBOL_GPL(arch_add_memory);
-
-+int add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,
-+ unsigned long nr_pages)
-+{
-+ int ret;
-+
-+ ret = __add_pages(nid, zone, phys_start_pfn, nr_pages);
-+
-+ if (!ret)
-+ update_end_of_memory_vars(phys_start_pfn << PAGE_SHIFT,
-+ nr_pages << PAGE_SHIFT);
-+
-+ return ret;
-+}
-+EXPORT_SYMBOL_GPL(add_pages);
-+
- #define PAGE_INUSE 0xFD
-
- static void __meminit free_pagetable(struct page *page, int order)
-diff --git a/mm/Kconfig b/mm/Kconfig
-index 9b8fccb..d052ec1 100644
---- a/mm/Kconfig
-+++ b/mm/Kconfig
-@@ -707,3 +707,5 @@ config ARCH_USES_HIGH_VMA_FLAGS
- bool
- config ARCH_HAS_PKEYS
- bool
-+config ARCH_HAS_ADD_PAGES
-+ bool
-diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
-index 295479b..bef772c 100644
---- a/mm/memory_hotplug.c
-+++ b/mm/memory_hotplug.c
-@@ -576,6 +576,24 @@ int __ref __add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,
- }
- EXPORT_SYMBOL_GPL(__add_pages);
-
-+#ifndef ARCH_HAS_ADD_PAGES
-+int add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,
-+ unsigned long nr_pages)
-+{
-+ int ret;
-+
-+ ret = __add_pages(nid, zone, phys_start_pfn, nr_pages);
-+
-+#ifdef CONFIG_X86_64
-+ if (!ret)
-+ update_end_of_memory_vars(phys_start_pfn << PAGE_SHIFT,
-+ nr_pages << PAGE_SHIFT);
-+#endif
-+ return ret;
-+}
-+EXPORT_SYMBOL_GPL(add_pages);
-+#endif /* ARCH_HAS_ADD_PAGES */
-+
- #ifdef CONFIG_MEMORY_HOTREMOVE
- /* find the smallest valid pfn in the range [start_pfn, end_pfn) */
- static int find_smallest_section_pfn(int nid, struct zone *zone,
---
-2.7.4
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index cd5c2fb..93e3851 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -72,7 +72,7 @@
"> > > > On Fri, Apr 07, 2017 at 04:45:04PM +0200, Michal Hocko wrote:\n",
"> > > > > On Fri 07-04-17 10:32:49, Jerome Glisse wrote:\n",
"> > > > > > On Fri, Apr 07, 2017 at 02:13:49PM +0200, Michal Hocko wrote:\n",
- "> > > > > > > On Wed 05-04-17 16:40:11, J\303\251r\303\264me Glisse wrote:\n",
+ "> > > > > > > On Wed 05-04-17 16:40:11, Jerome Glisse wrote:\n",
"> > > > > > > > When hotpluging memory we want more information on the type of memory.\n",
"> > > > > > > > This is to extend ZONE_DEVICE to support new type of memory other than\n",
"> > > > > > > > the persistent memory. Existing user of ZONE_DEVICE (persistent memory)\n",
@@ -137,7 +137,7 @@
"Andrew i guess.\n",
"\n",
"Cheers,\n",
- "J\303\251r\303\264me"
+ "Jerome"
]
[
"\0001:2\0"
@@ -148,116 +148,6 @@
[
"b\0"
]
-[
- ">From 7f414aef1e84c8ff65102e571f808f6362212350 Mon Sep 17 00:00:00 2001\n",
- "From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse\@redhat.com>\n",
- "Date: Fri, 7 Apr 2017 12:51:20 -0400\n",
- "Subject: [PATCH] mm/memory_hotplug: add add_pages() hotplug without linear\n",
- " mapping\n",
- "MIME-Version: 1.0\n",
- "Content-Type: text/plain; charset=UTF-8\n",
- "Content-Transfer-Encoding: 8bit\n",
- "\n",
- "For some memory hotplug we do not want the linear mapping to the\n",
- "hotpluged physical range. Add a new helper that just do __add_pages()\n",
- "and other arch specific bits if necessary.\n",
- "\n",
- "Signed-off-by: J\303\251r\303\264me Glisse <jglisse\@redhat.com>\n",
- "---\n",
- " arch/x86/Kconfig | 1 +\n",
- " arch/x86/mm/init_64.c | 17 ++++++++++++++++-\n",
- " mm/Kconfig | 2 ++\n",
- " mm/memory_hotplug.c | 18 ++++++++++++++++++\n",
- " 4 files changed, 37 insertions(+), 1 deletion(-)\n",
- "\n",
- "diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig\n",
- "index cc98d5a..4024fee 100644\n",
- "--- a/arch/x86/Kconfig\n",
- "+++ b/arch/x86/Kconfig\n",
- "\@\@ -25,6 +25,7 \@\@ config X86_64\n",
- " \tselect ARCH_HAS_GIGANTIC_PAGE\n",
- " \tselect ARCH_SUPPORTS_INT128\n",
- " \tselect ARCH_USE_CMPXCHG_LOCKREF\n",
- "+\tselect ARCH_HAS_ADD_PAGES\n",
- " \tselect HAVE_ARCH_SOFT_DIRTY\n",
- " \tselect MODULES_USE_ELF_RELA\n",
- " \tselect X86_DEV_DMA_OPS\n",
- "diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c\n",
- "index 15173d3..933032c 100644\n",
- "--- a/arch/x86/mm/init_64.c\n",
- "+++ b/arch/x86/mm/init_64.c\n",
- "\@\@ -626,7 +626,7 \@\@ void __init paging_init(void)\n",
- " * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need\n",
- " * updating.\n",
- " */\n",
- "-static void update_end_of_memory_vars(u64 start, u64 size)\n",
- "+static void update_end_of_memory_vars(u64 start, u64 size)\n",
- " {\n",
- " \tunsigned long end_pfn = PFN_UP(start + size);\n",
- " \n",
- "\@\@ -662,6 +662,21 \@\@ int arch_add_memory(int nid, u64 start, u64 size, bool for_device)\n",
- " }\n",
- " EXPORT_SYMBOL_GPL(arch_add_memory);\n",
- " \n",
- "+int add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,\n",
- "+\t\tunsigned long nr_pages)\n",
- "+{\n",
- "+\tint ret;\n",
- "+\n",
- "+\tret = __add_pages(nid, zone, phys_start_pfn, nr_pages);\n",
- "+\n",
- "+\tif (!ret)\n",
- "+\t\tupdate_end_of_memory_vars(phys_start_pfn << PAGE_SHIFT,\n",
- "+\t\t\t\t\t nr_pages << PAGE_SHIFT);\n",
- "+\n",
- "+\treturn ret;\n",
- "+}\n",
- "+EXPORT_SYMBOL_GPL(add_pages);\n",
- "+\n",
- " #define PAGE_INUSE 0xFD\n",
- " \n",
- " static void __meminit free_pagetable(struct page *page, int order)\n",
- "diff --git a/mm/Kconfig b/mm/Kconfig\n",
- "index 9b8fccb..d052ec1 100644\n",
- "--- a/mm/Kconfig\n",
- "+++ b/mm/Kconfig\n",
- "\@\@ -707,3 +707,5 \@\@ config ARCH_USES_HIGH_VMA_FLAGS\n",
- " \tbool\n",
- " config ARCH_HAS_PKEYS\n",
- " \tbool\n",
- "+config ARCH_HAS_ADD_PAGES\n",
- "+\tbool\n",
- "diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c\n",
- "index 295479b..bef772c 100644\n",
- "--- a/mm/memory_hotplug.c\n",
- "+++ b/mm/memory_hotplug.c\n",
- "\@\@ -576,6 +576,24 \@\@ int __ref __add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,\n",
- " }\n",
- " EXPORT_SYMBOL_GPL(__add_pages);\n",
- " \n",
- "+#ifndef ARCH_HAS_ADD_PAGES\n",
- "+int add_pages(int nid, struct zone *zone, unsigned long phys_start_pfn,\n",
- "+\t\tunsigned long nr_pages)\n",
- "+{\n",
- "+\tint ret;\n",
- "+\n",
- "+\tret = __add_pages(nid, zone, phys_start_pfn, nr_pages);\n",
- "+\n",
- "+#ifdef CONFIG_X86_64\n",
- "+\tif (!ret)\n",
- "+\t\tupdate_end_of_memory_vars(phys_start_pfn << PAGE_SHIFT,\n",
- "+\t\t\t\t\t nr_pages << PAGE_SHIFT);\n",
- "+#endif\n",
- "+\treturn ret;\n",
- "+}\n",
- "+EXPORT_SYMBOL_GPL(add_pages);\n",
- "+#endif /* ARCH_HAS_ADD_PAGES */\n",
- "+\n",
- " #ifdef CONFIG_MEMORY_HOTREMOVE\n",
- " /* find the smallest valid pfn in the range [start_pfn, end_pfn) */\n",
- " static int find_smallest_section_pfn(int nid, struct zone *zone,\n",
- "-- \n",
- "2.7.4"
-]
+[]
-9d87ae81db37be4a474eb2bfc605946852b767f3976d4c169dc7312e53fa5237
+1fbda60cde75a8e7d63ccc0c8e5789ada262c7a5ce3bafa98c28ce812ecf5b6b
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.