Hi Chen, On Tue, Aug 27, 2013 at 03:37:01AM -0400, Chen Gong wrote: >> On Tue, Aug 27, 2013 at 11:38:27AM +0800, Wanpeng Li wrote: >> > Hi Naoya, >> > On Mon, Aug 26, 2013 at 11:28:16PM -0400, Naoya Horiguchi wrote: >> > >On Tue, Aug 27, 2013 at 10:39:31AM +0800, Wanpeng Li wrote: >> > >> The return value outside for loop is always zero which means madvise_hwpoison >> > >> return success, however, this is not truth for soft_offline_page w/ failure >> > >> return value. >> > > >> > >I don't understand what you want to do for what reason. Could you clarify >> > >those? >> > >> > int ret is defined in two place in madvise_hwpoison. One is out of for >> > loop and its value is always zero(zero means success for madvise), the >> > other one is in for loop. The soft_offline_page function maybe return >> > -EBUSY and break, however, the ret out of for loop is return which means >> > madvise_hwpoison success. >> >> Oh, I see. Thanks. >> >I don't think such change is a good idea. The original code is obviously >easy to confuse people. Why not removing redundant local variable? > I think the trick here is get_user_pages_fast will return the number of pages pinned. It is always 1 in madvise_hwpoison, the return value of memory_failure is ignored. Therefore we still need to reset ret to 0 before return madvise_hwpoison. Regards, Wanpeng Li -- 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>