diff for duplicates of <53CC7C05.3060703@lge.com> diff --git a/a/1.txt b/N1/1.txt index d80b47d..841aeee 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -3,3 +3,36 @@ Thanks a lot. ---------------------------- 8< ------------------------------ +>From 95addf7f1644cde3a0944629ff5c6a8d6f43e5d6 Mon Sep 17 00:00:00 2001 +From: Gioh Kim <gioh.kim@lge.com> +Date: Fri, 18 Jul 2014 13:40:01 +0900 +Subject: [PATCH] CMA/HOTPLUG: clear buffer-head lru before page migration + +The bh must be free to migrate a page at which bh is mapped. +The reference count of bh is increased when it is installed +into lru so that the bh of lru must be freed before migrating the page. + +This frees every bh of lru. We could free only bh of migrating page. +But searching lru costs more than invalidating entire lru. + +Signed-off-by: Gioh Kim <gioh.kim@lge.com> +Acked-by: Michal Nazarewicz <mina86@mina86.com> +--- + mm/page_alloc.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index b99643d4..c00dedf 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -6369,6 +6369,8 @@ int alloc_contig_range(unsigned long start, unsigned long end, + if (ret) + return ret; + ++ invalidate_bh_lrus(); ++ + ret = __alloc_contig_migrate_range(&cc, start, end); + if (ret) + goto done; +-- +1.7.9.5 diff --git a/a/content_digest b/N1/content_digest index a421c4f..d71abb8 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -20,6 +20,39 @@ "Thanks a lot.\n" "\n" "\n" - ---------------------------- 8< ------------------------------ + "---------------------------- 8< ------------------------------\n" + ">From 95addf7f1644cde3a0944629ff5c6a8d6f43e5d6 Mon Sep 17 00:00:00 2001\n" + "From: Gioh Kim <gioh.kim@lge.com>\n" + "Date: Fri, 18 Jul 2014 13:40:01 +0900\n" + "Subject: [PATCH] CMA/HOTPLUG: clear buffer-head lru before page migration\n" + "\n" + "The bh must be free to migrate a page at which bh is mapped.\n" + "The reference count of bh is increased when it is installed\n" + "into lru so that the bh of lru must be freed before migrating the page.\n" + "\n" + "This frees every bh of lru. We could free only bh of migrating page.\n" + "But searching lru costs more than invalidating entire lru.\n" + "\n" + "Signed-off-by: Gioh Kim <gioh.kim@lge.com>\n" + "Acked-by: Michal Nazarewicz <mina86@mina86.com>\n" + "---\n" + " mm/page_alloc.c | 2 ++\n" + " 1 file changed, 2 insertions(+)\n" + "\n" + "diff --git a/mm/page_alloc.c b/mm/page_alloc.c\n" + "index b99643d4..c00dedf 100644\n" + "--- a/mm/page_alloc.c\n" + "+++ b/mm/page_alloc.c\n" + "@@ -6369,6 +6369,8 @@ int alloc_contig_range(unsigned long start, unsigned long end,\n" + " if (ret)\n" + " return ret;\n" + "\n" + "+ invalidate_bh_lrus();\n" + "+\n" + " ret = __alloc_contig_migrate_range(&cc, start, end);\n" + " if (ret)\n" + " goto done;\n" + "--\n" + 1.7.9.5 -f77b6510ec88aab7915bc606b44657ccade205c919674effa439a0481d7384c7 +2203f798fd475fc9adee097ea30440579d4a89decdc7a3e073599417e3a66a82
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.