Re: [PATCH 02/10] mm,madvise: call soft_offline_page() without MF_COUNT_INCREASED

From: David Hildenbrand
Date: Fri Sep 13 2019 - 04:37:50 EST


On 12.09.19 03:37, Naoya Horiguchi wrote:
> On Wed, Sep 11, 2019 at 12:27:22PM +0200, David Hildenbrand wrote:
>> On 10.09.19 12:30, Oscar Salvador wrote:
>>> From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
>>>
>>> Currently madvise_inject_error() pins the target via get_user_pages_fast.
>>> The call to get_user_pages_fast is only to get the respective page
>>> of a given address, but it is the job of the memory-poisoning handler
>>> to deal with races, so drop the refcount grabbed by get_user_pages_fast.
>>>
>>
>> Oh, and another question "it is the job of the memory-poisoning handler"
>> - is that already properly implemented? (newbee question Â\_(ã)_/Â)
>
> The above description might be confusing, sorry. It's intended likes
>
> The call to get_user_pages_fast is only to get the pointer to struct
> page of a given address, pinning it is memory-poisoning handler's job,
> so drop the refcount grabbed by get_user_pages_fast.
>
> And pinning is done in get_hwpoison_page() for hard-offline and
> get_any_page() for soft-offline. For soft-offline case, the semantics of
> refcount of poisoned pages is what this patchset tries to change/improve.

Thanks for the clarification!

--

Thanks,

David / dhildenb