All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20170802232316.GA32020@bbox>

diff --git a/a/1.txt b/N1/1.txt
index 2e13370..f899a44 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -26,3 +26,100 @@ On Wed, Aug 02, 2017 at 10:28:47PM +0800, kbuild test robot wrote:
 Thanks. lkp.
 
 This patch should fix it.
+
+>From 5be44c3cbe0e4149cc8b438f2e3fcad046091a29 Mon Sep 17 00:00:00 2001
+From: Minchan Kim <minchan@kernel.org>
+Date: Tue, 1 Aug 2017 14:04:58 +0900
+Subject: [PATCH v6 5/7] mm: make tlb_flush_pending global
+
+Currently, tlb_flush_pending is used only for CONFIG_[NUMA_BALANCING|
+COMPACTION] but upcoming patches to solve subtle TLB flush bacting
+problem will use it regardless of compaction/numa so this patch
+doesn't remove the dependency.
+
+Cc: Nadav Amit <nadav.amit@gmail.com>
+Cc: Mel Gorman <mgorman@techsingularity.net>
+Signed-off-by: Minchan Kim <minchan@kernel.org>
+---
+ include/linux/mm_types.h | 21 ---------------------
+ mm/debug.c               |  4 ----
+ 2 files changed, 25 deletions(-)
+
+diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
+index c605f2a3a68e..892a7b0196fd 100644
+--- a/include/linux/mm_types.h
++++ b/include/linux/mm_types.h
+@@ -487,14 +487,12 @@ struct mm_struct {
+ 	/* numa_scan_seq prevents two threads setting pte_numa */
+ 	int numa_scan_seq;
+ #endif
+-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
+ 	/*
+ 	 * An operation with batched TLB flushing is going on. Anything that
+ 	 * can move process memory needs to flush the TLB when moving a
+ 	 * PROT_NONE or PROT_NUMA mapped page.
+ 	 */
+ 	atomic_t tlb_flush_pending;
+-#endif
+ #ifdef CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
+ 	/* See flush_tlb_batched_pending() */
+ 	bool tlb_flush_batched;
+@@ -528,7 +526,6 @@ extern void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm,
+ extern void tlb_finish_mmu(struct mmu_gather *tlb,
+ 				unsigned long start, unsigned long end);
+ 
+-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
+ /*
+  * Memory barriers to keep this state in sync are graciously provided by
+  * the page table locks, outside of which no page table modifications happen.
+@@ -569,24 +566,6 @@ static inline void dec_tlb_flush_pending(struct mm_struct *mm)
+ 	smp_mb__before_atomic();
+ 	atomic_dec(&mm->tlb_flush_pending);
+ }
+-#else
+-static inline bool mm_tlb_flush_pending(struct mm_struct *mm)
+-{
+-	return false;
+-}
+-
+-static inline void init_tlb_flush_pending(struct mm_struct *mm)
+-{
+-}
+-
+-static inline void inc_tlb_flush_pending(struct mm_struct *mm)
+-{
+-}
+-
+-static inline void dec_tlb_flush_pending(struct mm_struct *mm)
+-{
+-}
+-#endif
+ 
+ struct vm_fault;
+ 
+diff --git a/mm/debug.c b/mm/debug.c
+index d70103bb4731..5715448ab0b5 100644
+--- a/mm/debug.c
++++ b/mm/debug.c
+@@ -124,9 +124,7 @@ void dump_mm(const struct mm_struct *mm)
+ #ifdef CONFIG_NUMA_BALANCING
+ 		"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\n"
+ #endif
+-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
+ 		"tlb_flush_pending %d\n"
+-#endif
+ 		"def_flags: %#lx(%pGv)\n",
+ 
+ 		mm, mm->mmap, mm->vmacache_seqnum, mm->task_size,
+@@ -158,9 +156,7 @@ void dump_mm(const struct mm_struct *mm)
+ #ifdef CONFIG_NUMA_BALANCING
+ 		mm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,
+ #endif
+-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
+ 		atomic_read(&mm->tlb_flush_pending),
+-#endif
+ 		mm->def_flags, &mm->def_flags
+ 	);
+ }
+-- 
+2.7.4
diff --git a/a/content_digest b/N1/content_digest
index e2c7a48..300390a 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -39,6 +39,103 @@
  "\n"
  "Thanks. lkp.\n"
  "\n"
- This patch should fix it.
+ "This patch should fix it.\n"
+ "\n"
+ ">From 5be44c3cbe0e4149cc8b438f2e3fcad046091a29 Mon Sep 17 00:00:00 2001\n"
+ "From: Minchan Kim <minchan@kernel.org>\n"
+ "Date: Tue, 1 Aug 2017 14:04:58 +0900\n"
+ "Subject: [PATCH v6 5/7] mm: make tlb_flush_pending global\n"
+ "\n"
+ "Currently, tlb_flush_pending is used only for CONFIG_[NUMA_BALANCING|\n"
+ "COMPACTION] but upcoming patches to solve subtle TLB flush bacting\n"
+ "problem will use it regardless of compaction/numa so this patch\n"
+ "doesn't remove the dependency.\n"
+ "\n"
+ "Cc: Nadav Amit <nadav.amit@gmail.com>\n"
+ "Cc: Mel Gorman <mgorman@techsingularity.net>\n"
+ "Signed-off-by: Minchan Kim <minchan@kernel.org>\n"
+ "---\n"
+ " include/linux/mm_types.h | 21 ---------------------\n"
+ " mm/debug.c               |  4 ----\n"
+ " 2 files changed, 25 deletions(-)\n"
+ "\n"
+ "diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h\n"
+ "index c605f2a3a68e..892a7b0196fd 100644\n"
+ "--- a/include/linux/mm_types.h\n"
+ "+++ b/include/linux/mm_types.h\n"
+ "@@ -487,14 +487,12 @@ struct mm_struct {\n"
+ " \t/* numa_scan_seq prevents two threads setting pte_numa */\n"
+ " \tint numa_scan_seq;\n"
+ " #endif\n"
+ "-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)\n"
+ " \t/*\n"
+ " \t * An operation with batched TLB flushing is going on. Anything that\n"
+ " \t * can move process memory needs to flush the TLB when moving a\n"
+ " \t * PROT_NONE or PROT_NUMA mapped page.\n"
+ " \t */\n"
+ " \tatomic_t tlb_flush_pending;\n"
+ "-#endif\n"
+ " #ifdef CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH\n"
+ " \t/* See flush_tlb_batched_pending() */\n"
+ " \tbool tlb_flush_batched;\n"
+ "@@ -528,7 +526,6 @@ extern void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm,\n"
+ " extern void tlb_finish_mmu(struct mmu_gather *tlb,\n"
+ " \t\t\t\tunsigned long start, unsigned long end);\n"
+ " \n"
+ "-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)\n"
+ " /*\n"
+ "  * Memory barriers to keep this state in sync are graciously provided by\n"
+ "  * the page table locks, outside of which no page table modifications happen.\n"
+ "@@ -569,24 +566,6 @@ static inline void dec_tlb_flush_pending(struct mm_struct *mm)\n"
+ " \tsmp_mb__before_atomic();\n"
+ " \tatomic_dec(&mm->tlb_flush_pending);\n"
+ " }\n"
+ "-#else\n"
+ "-static inline bool mm_tlb_flush_pending(struct mm_struct *mm)\n"
+ "-{\n"
+ "-\treturn false;\n"
+ "-}\n"
+ "-\n"
+ "-static inline void init_tlb_flush_pending(struct mm_struct *mm)\n"
+ "-{\n"
+ "-}\n"
+ "-\n"
+ "-static inline void inc_tlb_flush_pending(struct mm_struct *mm)\n"
+ "-{\n"
+ "-}\n"
+ "-\n"
+ "-static inline void dec_tlb_flush_pending(struct mm_struct *mm)\n"
+ "-{\n"
+ "-}\n"
+ "-#endif\n"
+ " \n"
+ " struct vm_fault;\n"
+ " \n"
+ "diff --git a/mm/debug.c b/mm/debug.c\n"
+ "index d70103bb4731..5715448ab0b5 100644\n"
+ "--- a/mm/debug.c\n"
+ "+++ b/mm/debug.c\n"
+ "@@ -124,9 +124,7 @@ void dump_mm(const struct mm_struct *mm)\n"
+ " #ifdef CONFIG_NUMA_BALANCING\n"
+ " \t\t\"numa_next_scan %lu numa_scan_offset %lu numa_scan_seq %d\\n\"\n"
+ " #endif\n"
+ "-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)\n"
+ " \t\t\"tlb_flush_pending %d\\n\"\n"
+ "-#endif\n"
+ " \t\t\"def_flags: %#lx(%pGv)\\n\",\n"
+ " \n"
+ " \t\tmm, mm->mmap, mm->vmacache_seqnum, mm->task_size,\n"
+ "@@ -158,9 +156,7 @@ void dump_mm(const struct mm_struct *mm)\n"
+ " #ifdef CONFIG_NUMA_BALANCING\n"
+ " \t\tmm->numa_next_scan, mm->numa_scan_offset, mm->numa_scan_seq,\n"
+ " #endif\n"
+ "-#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)\n"
+ " \t\tatomic_read(&mm->tlb_flush_pending),\n"
+ "-#endif\n"
+ " \t\tmm->def_flags, &mm->def_flags\n"
+ " \t);\n"
+ " }\n"
+ "-- \n"
+ 2.7.4
 
-83facb301db42cafd81976adfca73fb075f570d2bb19f46cb8d5d3c4f7bb7417
+79d23cd1ad9aa46db028e284067545ca2403dc5f2495c1d9e7e244bbe6c3979f

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.