diff for duplicates of <20161222145203.GA18970@bbox> diff --git a/a/1.txt b/N1/1.txt index 5a886f8..6953e72 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -28,63 +28,3 @@ On Thu, Dec 22, 2016 at 11:17:13AM +0300, Kirill A. Shutemov wrote: > From what I see change to huge_pmd_set_accessed() should be enough. Yeb. Thanks for the review. Here v2 goes. - -From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001 -From: Minchan Kim <minchan@kernel.org> -Date: Thu, 22 Dec 2016 23:43:49 +0900 -Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler - -Andreas reported [1] made a test in jemalloc hang in THP mode in arm64. -http://lkml.kernel.org/r/mvmmvfy37g1.fsf@hawking.suse.de - -The problem is page fault handler supports only accessed flag emulation -for THP page of SW-dirty/accessed architecture. - -This patch enables dirty-bit emulation for those architectures. -Without it, MADV_FREE makes application hang by repeated fault forever. - -[1] b8d3c4c3009d, mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called - -Cc: Jason Evans <je@fb.com> -Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -Cc: Will Deacon <will.deacon@arm.com> -Cc: Catalin Marinas <catalin.marinas@arm.com> -Cc: linux-arch@vger.kernel.org -Cc: linux-arm-kernel@lists.infradead.org -Cc: <stable@vger.kernel.org> [4.5+] -Fixes: b8d3c4c3009d ("mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called") -Reported-by: Andreas Schwab <schwab@suse.de> -Signed-off-by: Minchan Kim <minchan@kernel.org> ---- -* from v1 - * Remove __handle_mm_fault part - Kirill - - mm/huge_memory.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/mm/huge_memory.c b/mm/huge_memory.c -index 10eedbf..29ec8a4 100644 ---- a/mm/huge_memory.c -+++ b/mm/huge_memory.c -@@ -883,15 +883,17 @@ void huge_pmd_set_accessed(struct vm_fault *vmf, pmd_t orig_pmd) - { - pmd_t entry; - unsigned long haddr; -+ bool write = vmf->flags & FAULT_FLAG_WRITE; - - vmf->ptl = pmd_lock(vmf->vma->vm_mm, vmf->pmd); - if (unlikely(!pmd_same(*vmf->pmd, orig_pmd))) - goto unlock; - - entry = pmd_mkyoung(orig_pmd); -+ if (write) -+ entry = pmd_mkdirty(entry); - haddr = vmf->address & HPAGE_PMD_MASK; -- if (pmdp_set_access_flags(vmf->vma, haddr, vmf->pmd, entry, -- vmf->flags & FAULT_FLAG_WRITE)) -+ if (pmdp_set_access_flags(vmf->vma, haddr, vmf->pmd, entry, write)) - update_mmu_cache_pmd(vmf->vma, vmf->address, vmf->pmd); - - unlock: --- -2.7.4 diff --git a/a/content_digest b/N1/content_digest index b6dc7b1..981ab74 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -45,66 +45,6 @@ "> __handle_mm_fault() at all.\n" "> From what I see change to huge_pmd_set_accessed() should be enough.\n" "\n" - "Yeb. Thanks for the review. Here v2 goes.\n" - "\n" - "From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001\n" - "From: Minchan Kim <minchan@kernel.org>\n" - "Date: Thu, 22 Dec 2016 23:43:49 +0900\n" - "Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler\n" - "\n" - "Andreas reported [1] made a test in jemalloc hang in THP mode in arm64.\n" - "http://lkml.kernel.org/r/mvmmvfy37g1.fsf@hawking.suse.de\n" - "\n" - "The problem is page fault handler supports only accessed flag emulation\n" - "for THP page of SW-dirty/accessed architecture.\n" - "\n" - "This patch enables dirty-bit emulation for those architectures.\n" - "Without it, MADV_FREE makes application hang by repeated fault forever.\n" - "\n" - "[1] b8d3c4c3009d, mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called\n" - "\n" - "Cc: Jason Evans <je@fb.com>\n" - "Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\n" - "Cc: Will Deacon <will.deacon@arm.com>\n" - "Cc: Catalin Marinas <catalin.marinas@arm.com>\n" - "Cc: linux-arch@vger.kernel.org\n" - "Cc: linux-arm-kernel@lists.infradead.org\n" - "Cc: <stable@vger.kernel.org> [4.5+]\n" - "Fixes: b8d3c4c3009d (\"mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called\")\n" - "Reported-by: Andreas Schwab <schwab@suse.de>\n" - "Signed-off-by: Minchan Kim <minchan@kernel.org>\n" - "---\n" - "* from v1\n" - " * Remove __handle_mm_fault part - Kirill\n" - "\n" - " mm/huge_memory.c | 6 ++++--\n" - " 1 file changed, 4 insertions(+), 2 deletions(-)\n" - "\n" - "diff --git a/mm/huge_memory.c b/mm/huge_memory.c\n" - "index 10eedbf..29ec8a4 100644\n" - "--- a/mm/huge_memory.c\n" - "+++ b/mm/huge_memory.c\n" - "@@ -883,15 +883,17 @@ void huge_pmd_set_accessed(struct vm_fault *vmf, pmd_t orig_pmd)\n" - " {\n" - " \tpmd_t entry;\n" - " \tunsigned long haddr;\n" - "+\tbool write = vmf->flags & FAULT_FLAG_WRITE;\n" - " \n" - " \tvmf->ptl = pmd_lock(vmf->vma->vm_mm, vmf->pmd);\n" - " \tif (unlikely(!pmd_same(*vmf->pmd, orig_pmd)))\n" - " \t\tgoto unlock;\n" - " \n" - " \tentry = pmd_mkyoung(orig_pmd);\n" - "+\tif (write)\n" - "+\t\tentry = pmd_mkdirty(entry);\n" - " \thaddr = vmf->address & HPAGE_PMD_MASK;\n" - "-\tif (pmdp_set_access_flags(vmf->vma, haddr, vmf->pmd, entry,\n" - "-\t\t\t\tvmf->flags & FAULT_FLAG_WRITE))\n" - "+\tif (pmdp_set_access_flags(vmf->vma, haddr, vmf->pmd, entry, write))\n" - " \t\tupdate_mmu_cache_pmd(vmf->vma, vmf->address, vmf->pmd);\n" - " \n" - " unlock:\n" - "-- \n" - 2.7.4 + Yeb. Thanks for the review. Here v2 goes. -bb8c26c2446478d4288136887001e56ee751b1dc6a6f16e37836d4dc999f0287 +9403b766ba224c3f8e1beb20d2daf7644957e6d6a6fceff7d8ab04df687637d1
diff --git a/a/1.txt b/N2/1.txt index 5a886f8..53d4f7b 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -29,13 +29,13 @@ On Thu, Dec 22, 2016 at 11:17:13AM +0300, Kirill A. Shutemov wrote: Yeb. Thanks for the review. Here v2 goes. -From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001 +>From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001 From: Minchan Kim <minchan@kernel.org> Date: Thu, 22 Dec 2016 23:43:49 +0900 Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler Andreas reported [1] made a test in jemalloc hang in THP mode in arm64. -http://lkml.kernel.org/r/mvmmvfy37g1.fsf@hawking.suse.de +http://lkml.kernel.org/r/mvmmvfy37g1.fsf at hawking.suse.de The problem is page fault handler supports only accessed flag emulation for THP page of SW-dirty/accessed architecture. @@ -49,8 +49,8 @@ Cc: Jason Evans <je@fb.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> -Cc: linux-arch@vger.kernel.org -Cc: linux-arm-kernel@lists.infradead.org +Cc: linux-arch at vger.kernel.org +Cc: linux-arm-kernel at lists.infradead.org Cc: <stable@vger.kernel.org> [4.5+] Fixes: b8d3c4c3009d ("mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called") Reported-by: Andreas Schwab <schwab@suse.de> diff --git a/a/content_digest b/N2/content_digest index b6dc7b1..30489c0 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,19 +1,9 @@ "ref\01482364101-16204-1-git-send-email-minchan@kernel.org\0" "ref\020161222081713.GA32480@node.shutemov.name\0" - "From\0Minchan Kim <minchan@kernel.org>\0" - "Subject\0Re: [PATCH] mm: pmd dirty emulation in page fault handler\0" + "From\0minchan@kernel.org (Minchan Kim)\0" + "Subject\0[PATCH] mm: pmd dirty emulation in page fault handler\0" "Date\0Thu, 22 Dec 2016 23:52:03 +0900\0" - "To\0Kirill A. Shutemov <kirill@shutemov.name>\0" - "Cc\0Andrew Morton <akpm@linux-foundation.org>" - linux-mm@kvack.org - Jason Evans <je@fb.com> - Kirill A . Shutemov <kirill.shutemov@linux.intel.com> - Will Deacon <will.deacon@arm.com> - Catalin Marinas <catalin.marinas@arm.com> - linux-arch@vger.kernel.org - linux-arm-kernel@lists.infradead.org - [4.5+] <stable@vger.kernel.org> - " Andreas Schwab <schwab@suse.de>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "Hello,\n" @@ -47,13 +37,13 @@ "\n" "Yeb. Thanks for the review. Here v2 goes.\n" "\n" - "From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001\n" + ">From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001\n" "From: Minchan Kim <minchan@kernel.org>\n" "Date: Thu, 22 Dec 2016 23:43:49 +0900\n" "Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler\n" "\n" "Andreas reported [1] made a test in jemalloc hang in THP mode in arm64.\n" - "http://lkml.kernel.org/r/mvmmvfy37g1.fsf@hawking.suse.de\n" + "http://lkml.kernel.org/r/mvmmvfy37g1.fsf at hawking.suse.de\n" "\n" "The problem is page fault handler supports only accessed flag emulation\n" "for THP page of SW-dirty/accessed architecture.\n" @@ -67,8 +57,8 @@ "Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\n" "Cc: Will Deacon <will.deacon@arm.com>\n" "Cc: Catalin Marinas <catalin.marinas@arm.com>\n" - "Cc: linux-arch@vger.kernel.org\n" - "Cc: linux-arm-kernel@lists.infradead.org\n" + "Cc: linux-arch at vger.kernel.org\n" + "Cc: linux-arm-kernel at lists.infradead.org\n" "Cc: <stable@vger.kernel.org> [4.5+]\n" "Fixes: b8d3c4c3009d (\"mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called\")\n" "Reported-by: Andreas Schwab <schwab@suse.de>\n" @@ -107,4 +97,4 @@ "-- \n" 2.7.4 -bb8c26c2446478d4288136887001e56ee751b1dc6a6f16e37836d4dc999f0287 +c78a46cb337f3ba8daca92ec2165bf48da6bf3cd1750d9fe570420e3c49f5a42
diff --git a/a/1.txt b/N3/1.txt index 5a886f8..364bf44 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -29,7 +29,7 @@ On Thu, Dec 22, 2016 at 11:17:13AM +0300, Kirill A. Shutemov wrote: Yeb. Thanks for the review. Here v2 goes. -From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001 +>From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001 From: Minchan Kim <minchan@kernel.org> Date: Thu, 22 Dec 2016 23:43:49 +0900 Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler @@ -88,3 +88,9 @@ index 10eedbf..29ec8a4 100644 unlock: -- 2.7.4 + +-- +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:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N3/content_digest index b6dc7b1..318e97b 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -47,7 +47,7 @@ "\n" "Yeb. Thanks for the review. Here v2 goes.\n" "\n" - "From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001\n" + ">From b3ec95c0df91ad113525968a4a6b53030fd0b48d Mon Sep 17 00:00:00 2001\n" "From: Minchan Kim <minchan@kernel.org>\n" "Date: Thu, 22 Dec 2016 23:43:49 +0900\n" "Subject: [PATCH v2] mm: pmd dirty emulation in page fault handler\n" @@ -105,6 +105,12 @@ " \n" " unlock:\n" "-- \n" - 2.7.4 + "2.7.4\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -bb8c26c2446478d4288136887001e56ee751b1dc6a6f16e37836d4dc999f0287 +4ebd646d4e484a04c541895b5ace05e32209772f99a42cab499aca5bd6fffe4c
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.