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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>