From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx116.postini.com [74.125.245.116]) by kanga.kvack.org (Postfix) with SMTP id 8E2AC6B0031 for ; Mon, 5 Aug 2013 01:17:17 -0400 (EDT) Received: from /spool/local by e28smtp04.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 5 Aug 2013 10:39:42 +0530 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id ACCE9394004E for ; Mon, 5 Aug 2013 10:47:00 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r755H2YZ31260892 for ; Mon, 5 Aug 2013 10:47:04 +0530 Received: from d28av04.in.ibm.com (loopback [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r755H3WN027612 for ; Mon, 5 Aug 2013 15:17:04 +1000 From: "Aneesh Kumar K.V" Subject: Re: [PATCH 01/18] mm, hugetlb: protect reserved pages when softofflining requests the pages In-Reply-To: References: <1375075929-6119-1-git-send-email-iamjoonsoo.kim@lge.com> <1375075929-6119-2-git-send-email-iamjoonsoo.kim@lge.com> <20130731022751.GA2548@lge.com> <20130731044101.GE2548@lge.com> <20130731063740.GA4212@lge.com> <87siytwfl0.fsf@linux.vnet.ibm.com> Date: Mon, 05 Aug 2013 10:47:01 +0530 Message-ID: <87r4e8ogxe.fsf@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Hillf Danton Cc: Joonsoo Kim , Andrew Morton , Rik van Riel , Mel Gorman , Michal Hocko , KAMEZAWA Hiroyuki , Hugh Dickins , Davidlohr Bueso , David Gibson , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wanpeng Li , Naoya Horiguchi Hillf Danton writes: > On Fri, Aug 2, 2013 at 12:17 AM, Aneesh Kumar K.V > wrote: >> Hillf Danton 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@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org