[PATCH 3/7] remove putback_lru_pages() in hugepage migration context

From: Naoya Horiguchi
Date: Fri Jan 21 2011 - 01:33:42 EST


This putback_lru_pages() is inserted at cf608ac19c to allow
memory compaction to count the number of migration failed pages.

But we should not do it for a hugepage because page->lru of a hugepage
is used differently from that of a normal page:

in-use hugepage : page->lru is unlinked,
free hugepage : page->lru is linked to the free hugepage list,

so putting back hugepages to LRU lists collapses this rule.
We just drop this change (without any impact on memory compaction.)

Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Cc: Minchan Kim <minchan.kim@xxxxxxxxx>
---
mm/memory-failure.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git v2.6.38-rc1/mm/memory-failure.c v2.6.38-rc1/mm/memory-failure.c
index 548fbd7..b4910e8 100644
--- v2.6.38-rc1/mm/memory-failure.c
+++ v2.6.38-rc1/mm/memory-failure.c
@@ -1295,7 +1295,6 @@ static int soft_offline_huge_page(struct page *page, int flags)
ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0,
true);
if (ret) {
- putback_lru_pages(&pagelist);
pr_debug("soft offline: %#lx: migration failed %d, type %lx\n",
pfn, ret, page->flags);
if (ret > 0)
--
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/