On Mon, 25 Oct 2010 11:28:27 +0800 Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote: > On Mon, Oct 25, 2010 at 11:05:50AM +0800, KAMEZAWA Hiroyuki wrote: > > On Mon, 25 Oct 2010 10:57:03 +0800 > > Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote: > > > > > On Mon, Oct 25, 2010 at 10:40:17AM +0800, KAMEZAWA Hiroyuki wrote: > > > > On Mon, 25 Oct 2010 10:47:31 +0800 > > > > Bob Liu <lliubbo@xxxxxxxxx> wrote: > > > > > > > > > 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@xxxxxxxxx> > > > > > > > > -EBUSY should be returned. > > > > > > It does return -EBUSY when ALL pages cannot be isolated from LRU (or > > > is non-LRU pages at all). That means offline_pages() will repeat calls > > > to do_migrate_range() as fast as possible as long as it can make > > > progress. > > > > > I read the patch wrong ? "ret = -EBUSY" is dropped and "ret" will be > > 0 or just a return code of migrate_page(). > > for () { > ret = isolate_lru_page(page); > } > > if (list_empty(&source)) > goto out; > > out: > return ret; > > So do_migrate_range() will return -EBUSY if the last isolate_lru_page() returns > -EBUSY. > Then this patch should be put onto "immediately quit loop when not_managed++" patch. Please write it in description or make a patch series which other guys can see it. Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>