diff for duplicates of <20160204131159.GA20399@node.shutemov.name> diff --git a/a/1.txt b/N1/1.txt index 0438404..ce43eb8 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -27,3 +27,33 @@ On Thu, Jan 21, 2016 at 03:09:23PM +0300, Kirill A. Shutemov wrote: Well, that's embarrassing... :-/ I forgot to commit one local change here. Sorry. + +>From 5b27991afe0e4018f2503593ade85d35ce045fbc Mon Sep 17 00:00:00 2001 +From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> +Date: Thu, 4 Feb 2016 15:40:03 +0300 +Subject: [PATCH] thp: get deferred_split_scan() work again + +We really need to iterate over split_queue, not local empty list to get +anything split from the shrinker. + +Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> +Fixes: e3ae19535c66 ("thp: limit number of object to scan on deferred_split_scan()") +--- + mm/huge_memory.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mm/huge_memory.c b/mm/huge_memory.c +index 36c070167b71..08fc0ba2207e 100644 +--- a/mm/huge_memory.c ++++ b/mm/huge_memory.c +@@ -3482,7 +3482,7 @@ static unsigned long deferred_split_scan(struct shrinker *shrink, + + spin_lock_irqsave(&pgdata->split_queue_lock, flags); + /* Take pin on all head pages to avoid freeing them under us */ +- list_for_each_safe(pos, next, &list) { ++ list_for_each_safe(pos, next, &pgdata->split_queue) { + page = list_entry((void *)pos, struct page, mapping); + page = compound_head(page); + if (get_page_unless_zero(page)) { +-- + Kirill A. Shutemov diff --git a/a/content_digest b/N1/content_digest index a1febd5..c17b55e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -52,6 +52,36 @@ "\n" "Well, that's embarrassing... :-/\n" "\n" - I forgot to commit one local change here. Sorry. + "I forgot to commit one local change here. Sorry.\n" + "\n" + ">From 5b27991afe0e4018f2503593ade85d35ce045fbc Mon Sep 17 00:00:00 2001\n" + "From: \"Kirill A. Shutemov\" <kirill.shutemov@linux.intel.com>\n" + "Date: Thu, 4 Feb 2016 15:40:03 +0300\n" + "Subject: [PATCH] thp: get deferred_split_scan() work again\n" + "\n" + "We really need to iterate over split_queue, not local empty list to get\n" + "anything split from the shrinker.\n" + "\n" + "Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\n" + "Fixes: e3ae19535c66 (\"thp: limit number of object to scan on deferred_split_scan()\")\n" + "---\n" + " mm/huge_memory.c | 2 +-\n" + " 1 file changed, 1 insertion(+), 1 deletion(-)\n" + "\n" + "diff --git a/mm/huge_memory.c b/mm/huge_memory.c\n" + "index 36c070167b71..08fc0ba2207e 100644\n" + "--- a/mm/huge_memory.c\n" + "+++ b/mm/huge_memory.c\n" + "@@ -3482,7 +3482,7 @@ static unsigned long deferred_split_scan(struct shrinker *shrink,\n" + " \n" + " \tspin_lock_irqsave(&pgdata->split_queue_lock, flags);\n" + " \t/* Take pin on all head pages to avoid freeing them under us */\n" + "-\tlist_for_each_safe(pos, next, &list) {\n" + "+\tlist_for_each_safe(pos, next, &pgdata->split_queue) {\n" + " \t\tpage = list_entry((void *)pos, struct page, mapping);\n" + " \t\tpage = compound_head(page);\n" + " \t\tif (get_page_unless_zero(page)) {\n" + "-- \n" + Kirill A. Shutemov -a9c959e7cd7adeeb0f62606dc43a7a1125d41674337c55ff071f99e2d827e312 +9ed0e76cfd25ff77e888e8fd61b987e85ed7ab4aea8ecd259757b4877dfd98cf
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.