On Tue, Aug 17, 2010 at 11:40:08AM +0200, Andi Kleen wrote: > > When get_user_pages_fast() is called before try_to_unmap(), > > direct I/O code increments refcount on the target page. > > Because this refcount is not associated to the mapping, > > migration code will find remaining refcounts after try_to_unmap() > > unmaps all mappings. Then refcount check decides migration to fail, > > so direct I/O is continued safely. > > This would imply that direct IO can make migration fail arbitarily. > Also not good. Should we add some retries, at least for the soft offline > case? Soft offline is kicked from userspace, so the retry logic can be implemented in userspace. However, currently we can't distinguish migration failure from "unknown page" error by return value (-EIO in both case for now.) How about changing return value to -EAGAIN when migration failed? Thanks, Naoya Horiguchi -- 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>