diff for duplicates of <20160129123511.GA146512@black.fi.intel.com> diff --git a/a/1.txt b/N1/1.txt index 08e10eb..8b13789 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,67 +1 @@ ->From e20cd50a8f612dbc720d31d269e748215607a0b8 Mon Sep 17 00:00:00 2001 -From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> -Date: Fri, 29 Jan 2016 14:55:40 +0300 -Subject: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page() -We don't care if there's a tail pages which is not on LRU. We are not -going to isolate them anyway. - -Testcase: - - #include <fcntl.h> - #include <unistd.h> - #include <stdio.h> - #include <sys/mman.h> - #include <numaif.h> - - #define SIZE 0x2000 - - int foo; - - int main() - { - int fd; - char *p; - unsigned long mask = 2; - - fd = open("/dev/sg0", O_RDWR); - p = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); - /* Faultin pages */ - foo = p[0] + p[0x1000]; - mbind(p, SIZE, MPOL_BIND, &mask, 4, MPOL_MF_MOVE | MPOL_MF_STRICT); - return 0; - } - -MPOL_MF_STRICT makes queue_pages_test_walk() ignore !vma_megratable() -and we try to queue such pages for migration. It's good question why we -ignore !vma_megratable() for MPOL_MF_STRICT, but it's subject for a -separate patch. - -Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -Reported-by: Dmitry Vyukov <dvyukov@google.com> -Fixes: bb5b8589767a ("mm: make sure isolate_lru_page() is never called for tail page") ---- - mm/vmscan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mm/vmscan.c b/mm/vmscan.c -index eb3dd37ccd7c..492fbe73420b 100644 ---- a/mm/vmscan.c -+++ b/mm/vmscan.c -@@ -1443,7 +1443,7 @@ int isolate_lru_page(struct page *page) - int ret = -EBUSY; - - VM_BUG_ON_PAGE(!page_count(page), page); -- VM_BUG_ON_PAGE(PageTail(page), page); -+ VM_BUG_ON_PAGE(PageLRU(page) && PageTail(page), page); - - if (PageLRU(page)) { - struct zone *zone = page_zone(page); --- -2.7.0.rc3 - --- -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/N1/content_digest index d168cc1..b896cb7 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -24,72 +24,5 @@ " linux-scsi <linux-scsi@vger.kernel.org>\0" "\00:1\0" "b\0" - ">From e20cd50a8f612dbc720d31d269e748215607a0b8 Mon Sep 17 00:00:00 2001\n" - "From: \"Kirill A. Shutemov\" <kirill.shutemov@linux.intel.com>\n" - "Date: Fri, 29 Jan 2016 14:55:40 +0300\n" - "Subject: [PATCH 1/2] mm: fix bogus VM_BUG_ON_PAGE() in isolate_lru_page()\n" - "\n" - "We don't care if there's a tail pages which is not on LRU. We are not\n" - "going to isolate them anyway.\n" - "\n" - "Testcase:\n" - "\n" - "\t#include <fcntl.h>\n" - "\t#include <unistd.h>\n" - "\t#include <stdio.h>\n" - "\t#include <sys/mman.h>\n" - "\t#include <numaif.h>\n" - "\n" - "\t#define SIZE 0x2000\n" - "\n" - "\tint foo;\n" - "\n" - "\tint main()\n" - "\t{\n" - "\t\tint fd;\n" - "\t\tchar *p;\n" - "\t\tunsigned long mask = 2;\n" - "\n" - "\t\tfd = open(\"/dev/sg0\", O_RDWR);\n" - "\t\tp = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);\n" - "\t\t/* Faultin pages */\n" - "\t\tfoo = p[0] + p[0x1000];\n" - "\t\tmbind(p, SIZE, MPOL_BIND, &mask, 4, MPOL_MF_MOVE | MPOL_MF_STRICT);\n" - "\t\treturn 0;\n" - "\t}\n" - "\n" - "MPOL_MF_STRICT makes queue_pages_test_walk() ignore !vma_megratable()\n" - "and we try to queue such pages for migration. It's good question why we\n" - "ignore !vma_megratable() for MPOL_MF_STRICT, but it's subject for a\n" - "separate patch.\n" - "\n" - "Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\n" - "Reported-by: Dmitry Vyukov <dvyukov@google.com>\n" - "Fixes: bb5b8589767a (\"mm: make sure isolate_lru_page() is never called for tail page\")\n" - "---\n" - " mm/vmscan.c | 2 +-\n" - " 1 file changed, 1 insertion(+), 1 deletion(-)\n" - "\n" - "diff --git a/mm/vmscan.c b/mm/vmscan.c\n" - "index eb3dd37ccd7c..492fbe73420b 100644\n" - "--- a/mm/vmscan.c\n" - "+++ b/mm/vmscan.c\n" - "@@ -1443,7 +1443,7 @@ int isolate_lru_page(struct page *page)\n" - " \tint ret = -EBUSY;\n" - " \n" - " \tVM_BUG_ON_PAGE(!page_count(page), page);\n" - "-\tVM_BUG_ON_PAGE(PageTail(page), page);\n" - "+\tVM_BUG_ON_PAGE(PageLRU(page) && PageTail(page), page);\n" - " \n" - " \tif (PageLRU(page)) {\n" - " \t\tstruct zone *zone = page_zone(page);\n" - "-- \n" - "2.7.0.rc3\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>" -77e5cab358a504270fbedb9e3a13526a05e29a384ca553e6e7206c85a410727f +f2d71856b68d0da4cc20d5e214e8aaea7965b633f1d4bb260d0ee1a43f9d90ff
diff --git a/a/1.txt b/N2/1.txt index 08e10eb..b342b22 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -59,9 +59,3 @@ index eb3dd37ccd7c..492fbe73420b 100644 struct zone *zone = page_zone(page); -- 2.7.0.rc3 - --- -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/N2/content_digest index d168cc1..1cade81 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -84,12 +84,6 @@ " \tif (PageLRU(page)) {\n" " \t\tstruct zone *zone = page_zone(page);\n" "-- \n" - "2.7.0.rc3\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>" + 2.7.0.rc3 -77e5cab358a504270fbedb9e3a13526a05e29a384ca553e6e7206c85a410727f +e6f8b50da878e1acd691df2a069de8c4d1d4652017028fb6f0dd97abd743562f
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.