Messages in this thread | | | From | Naoya Horiguchi <> | Subject | Re: [PATCH 02/10] mm,madvise: call soft_offline_page() without MF_COUNT_INCREASED | Date | Thu, 12 Sep 2019 01:37:59 +0000 |
| |
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@ah.jp.nec.com> > > > > 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, Naoya Horiguchi | |