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.