diff for duplicates of <53C8C290.90503@lge.com> diff --git a/a/1.txt b/N1/1.txt index 22abc85..0f00753 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -42,3 +42,38 @@ Please let me represent my thanks. Thanks for any feedback. ------------------------------- 8< ---------------------------------- + +>From 33c894b1bab9bc26486716f0c62c452d3a04d35d 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: Laura Abbott <lauraa@codeaurora.org> +--- + mm/page_alloc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index b99643d4..3b474e0 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -6369,6 +6369,9 @@ int alloc_contig_range(unsigned long start, unsigned long end, + if (ret) + return ret; + ++ if (migratetype == MIGRATE_CMA || migratetype == MIGRATE_MOVABLE) ++ 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 80f74c2..8674a74 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -59,6 +59,41 @@ "\n" "Thanks for any feedback.\n" "\n" - ------------------------------- 8< ---------------------------------- + "------------------------------- 8< ----------------------------------\n" + "\n" + ">From 33c894b1bab9bc26486716f0c62c452d3a04d35d 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: Laura Abbott <lauraa@codeaurora.org>\n" + "---\n" + " mm/page_alloc.c | 3 +++\n" + " 1 file changed, 3 insertions(+)\n" + "\n" + "diff --git a/mm/page_alloc.c b/mm/page_alloc.c\n" + "index b99643d4..3b474e0 100644\n" + "--- a/mm/page_alloc.c\n" + "+++ b/mm/page_alloc.c\n" + "@@ -6369,6 +6369,9 @@ int alloc_contig_range(unsigned long start, unsigned long end,\n" + " if (ret)\n" + " return ret;\n" + "\n" + "+ if (migratetype == MIGRATE_CMA || migratetype == MIGRATE_MOVABLE)\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 -7194d36c3f2c46b3ce3e2178342f4db8a9f6ba8ec95e07b3a9517babfeedfc97 +19bcf501d4eae45432eb8925b42855b391b8180df669aa33a39550afd1bc490a
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.