From: Bob Liu <lliubbo@gmail.com>
To: akpm@linux-foundation.org
Cc: linux-mm@kvack.org, fengguang.wu@intel.com,
kamezawa.hiroyu@jp.fujitsu.com, mel@csn.ul.ie,
kosaki.motohiro@jp.fujitsu.com, Bob Liu <lliubbo@gmail.com>
Subject: [PATCH] do_migrate_range: avoid failure as much as possible
Date: Mon, 25 Oct 2010 10:47:31 +0800 [thread overview]
Message-ID: <1287974851-4064-1-git-send-email-lliubbo@gmail.com> (raw)
It's normal for isolate_lru_page() to fail at times. The failures are
typically temporal and may well go away when offline_pages() retries
the call. So it seems more reasonable to migrate as much as possible
to increase the chance of complete success in next retry.
This patch remove page_count() check and remove putback_lru_pages() and
call migrate_pages() regardless of not_managed to reduce failure as much
as possible.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
---
mm/memory_hotplug.c | 12 ------------
1 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index a4cfcdc..b64cc9b 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -687,7 +687,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
unsigned long pfn;
struct page *page;
int move_pages = NR_OFFLINE_AT_ONCE_PAGES;
- int not_managed = 0;
int ret = 0;
LIST_HEAD(source);
@@ -709,10 +708,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
page_is_file_cache(page));
} else {
- /* Becasue we don't have big zone->lock. we should
- check this again here. */
- if (page_count(page))
- not_managed++;
#ifdef CONFIG_DEBUG_VM
printk(KERN_ALERT "removing pfn %lx from LRU failed\n",
pfn);
@@ -720,13 +715,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
#endif
}
}
- ret = -EBUSY;
- if (not_managed) {
- if (!list_empty(&source))
- putback_lru_pages(&source);
- goto out;
- }
- ret = 0;
if (list_empty(&source))
goto out;
/* this function returns # of failed pages */
--
1.6.3.3
--
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>
next reply other threads:[~2010-10-25 2:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-25 2:47 Bob Liu [this message]
2010-10-25 2:40 ` [PATCH] do_migrate_range: avoid failure as much as possible KAMEZAWA Hiroyuki
2010-10-25 2:57 ` Wu Fengguang
2010-10-25 3:05 ` KAMEZAWA Hiroyuki
2010-10-25 3:09 ` KAMEZAWA Hiroyuki
2010-10-25 3:48 ` Wu Fengguang
2010-10-25 3:48 ` KAMEZAWA Hiroyuki
2010-10-25 4:06 ` Wu Fengguang
2010-10-25 4:34 ` KAMEZAWA Hiroyuki
2010-10-25 4:55 ` Wu Fengguang
2010-10-25 4:00 ` Bob Liu
2010-10-25 3:28 ` Wu Fengguang
2010-10-25 3:50 ` KAMEZAWA Hiroyuki
2010-10-25 3:06 ` Wu Fengguang
2010-10-25 3:16 ` Wu Fengguang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1287974851-4064-1-git-send-email-lliubbo@gmail.com \
--to=lliubbo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=fengguang.wu@intel.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.