2012/7/17 Michal Nazarewicz <mina86@xxxxxxxxxx>: > On Tue, 17 Jul 2012 14:33:34 +0200, Joonsoo Kim <js1304@xxxxxxxxx> wrote: >> >> migrate_pages() would return positive value in some failure case, >> so 'ret > 0 ? 0 : ret' may be wrong. >> This fix it and remove one dead statement. > > > How about the following message: > > ------------------- >8 --------------------------------------------------- > migrate_pages() can return positive value while at the same time emptying > the list of pages it was called with. Such situation means that it went > through all the pages on the list some of which failed to be migrated. > > If that happens, __alloc_contig_migrate_range()'s loop may finish without > "++tries == 5" never being checked. This in turn means that at the end > of the function, ret may have a positive value, which should be treated > as an error. > > This patch changes __alloc_contig_migrate_range() so that the return > statement converts positive ret value into -EBUSY error. > ------------------- >8 --------------------------------------------------- It's good. I will resend patch replacing my comment with yours. Thanks for help. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>