Re: [PATCH 01/18] mm, hugetlb: protect reserved pages when softofflining requests the pages

From: Aneesh Kumar K.V
Date: Mon Aug 05 2013 - 01:17:24 EST


Hillf Danton <dhillf@xxxxxxxxx> writes:

> On Fri, Aug 2, 2013 at 12:17 AM, Aneesh Kumar K.V
> <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote:
>> Hillf Danton <dhillf@xxxxxxxxx> writes:
>>
...

>>>>> >> >> Well, why is it illegal to use reserved page here?
>>>>> >> >
>>>>> >> > If we use reserved page here, other processes which are promised to use
>>>>> >> > enough hugepages cannot get enough hugepages and can die. This is
>>>>> >> > unexpected result to them.
>>>>> >> >
>>>>> >> But, how do you determine that a huge page is requested by a process
>>>>> >> that is not allowed to use reserved pages?
>>>>> >
>>>>> > Reserved page is just one for each address or file offset. If we need to
>>>>> > move this page, this means that it already use it's own reserved page, this
>>>>> > page is it. So we should not use other reserved page for moving this page.
>>>>> >
>>>>> Hm, how do you determine "this page" is not buddy?
>>>>
>>>> If this page comes from the buddy, it doesn't matter. It imply that
>>>> this mapping cannot use reserved page pool, because we always allocate
>>>> a page from reserved page pool first.
>>>>
>>> A buddy page also implies, if the mapping can use reserved pages, that no
>>> reserved page was available when requested. Now we can try reserved
>>> page again.
>>
>> I didn't quiet get that. My understanding is, the new page we are
>
> Neither did I ;)
>
>> allocating here for soft offline should not be allocated from the
>> reserve pool. If we do that we may possibly have allocation failure
>> later for a request that had done page reservation. Now to
>> avoid that we make sure we have enough free pages outside reserve pool
>> so that we can dequeue the huge page. If not we use buddy to allocate
>> the hugepage.
>>
> What if it is a mapping with HPAGE_RESV_OWNER set?
> Or can we block owner from using any page available here?

We are allocating a new hugepage to replace the already allocated
hugepage. We are in soft offline . That means the existing reservation
if we have any is already consumed. The request for new page should not
come from the reserve pool.

-aneesh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/