On 07/17/2018 06:28 PM, Naoya Horiguchi wrote: > On Tue, Jul 17, 2018 at 01:10:39PM -0700, Mike Kravetz wrote: >> It seems that soft_offline_free_page can be called for in use pages. >> Certainly, that is the case in the first workflow above. With the >> suggested changes, I think this is OK for huge pages. However, it seems >> that setting HWPoison on a in use non-huge page could cause issues? > > Just after dissolve_free_huge_page() returns, the target page is just a > free buddy page without PageHWPoison set. If this page is allocated > immediately, that's "migration succeeded, but soft offline failed" case, > so no problem. > Certainly, there also is a race between cheking TestSetPageHWPoison and > page allocation, so this issue is handled in patch 2/2. Yes, the issue of calling soft_offline_free_page() for an 'in use' page is handled in the new routine set_hwpoison_free_buddy_page() of patch 2/2. Thanks, -- Mike Kravetz