Re: [PATCH v2 0/2] mm: soft-offline: fix race against page allocation
From: Mike Kravetz
Date: Tue Aug 21 2018 - 22:25:28 EST
On 08/21/2018 06:37 PM, Naoya Horiguchi wrote:
> On Wed, Aug 15, 2018 at 03:43:34PM -0700, Andrew Morton wrote:
>> On Tue, 17 Jul 2018 14:32:30 +0900 Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> wrote:
>>
>>> I've updated the patchset based on feedbacks:
>>>
>>> - updated comments (from Andrew),
>>> - moved calling set_hwpoison_free_buddy_page() from mm/migrate.c to mm/memory-failure.c,
>>> which is necessary to check the return code of set_hwpoison_free_buddy_page(),
>>> - lkp bot reported a build error when only 1/2 is applied.
>>>
>>> > mm/memory-failure.c: In function 'soft_offline_huge_page':
>>> > >> mm/memory-failure.c:1610:8: error: implicit declaration of function
>>> > 'set_hwpoison_free_buddy_page'; did you mean 'is_free_buddy_page'?
>>> > [-Werror=implicit-function-declaration]
>>> > if (set_hwpoison_free_buddy_page(page))
>>> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> > is_free_buddy_page
>>> > cc1: some warnings being treated as errors
>>>
>>> set_hwpoison_free_buddy_page() is defined in 2/2, so we can't use it
>>> in 1/2. Simply doing s/set_hwpoison_free_buddy_page/!TestSetPageHWPoison/
>>> will fix this.
>>>
>>> v1: https://lkml.org/lkml/2018/7/12/968
>>>
>>
>> Quite a bit of discussion on these two, but no actual acks or
>> review-by's?
>
> Really sorry for late response.
> Xishi provided feedback on previous version, but no final ack/reviewed-by.
> This fix should work on the reported issue, but rewriting soft-offlining
> without PageHWPoison flag would be the better fix (no actual patch yet.)
> I'm not sure this patch should go to mainline immediately.
FWIW - The 'migration of huge PMD shared pages' issue I am working was
originally triggered via soft-offline. While working the issue, I tried
to exercise huge page soft-offline really hard to recreate the issue and
validate a fix. However, I was more likely to hit the soft-offline race(s)
your patches address. Therefore, I applied your patches to focus my testing
and validation on the migration of huge PMD shared pages issue. That is sort
of a Tested-by :).
Just wanted to point out that it was pretty easy to hit this issue. It
was easier than the issue I am working. And, the issue I am trying to
address was seen in a real customer environment. So, I would not be
surprised to see this issue in real customer environments as well.
If you (or others) think we should go forward with these patches, I can
spend some time doing a review. Already did a 'quick look' some time back.
--
Mike Kravetz