From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755434AbbCFWbF (ORCPT ); Fri, 6 Mar 2015 17:31:05 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:39854 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754732AbbCFWbC (ORCPT ); Fri, 6 Mar 2015 17:31:02 -0500 Message-ID: <54FA2A8D.5090509@oracle.com> Date: Fri, 06 Mar 2015 14:30:37 -0800 From: Mike Kravetz User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Andi Kleen CC: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Davidlohr Bueso , Aneesh Kumar , Joonsoo Kim Subject: Re: [PATCH 0/4] hugetlbfs: optionally reserve all fs pages at mount time References: <1425432106-17214-1-git-send-email-mike.kravetz@oracle.com> <87lhj9ai5u.fsf@tassilo.jf.intel.com> In-Reply-To: <87lhj9ai5u.fsf@tassilo.jf.intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/06/2015 02:13 PM, Andi Kleen wrote: > Mike Kravetz writes: > >> hugetlbfs allocates huge pages from the global pool as needed. Even if >> the global pool contains a sufficient number pages for the filesystem >> size at mount time, those global pages could be grabbed for some other >> use. As a result, filesystem huge page allocations may fail due to lack >> of pages. > > > What's the difference of this new option to simply doing > > mount -t hugetlbfs none /huge > echo XXX > /proc/sys/vm/nr_hugepages In the above sequence, it is still possible for another user/application to allocate some (or all) of the XXX huge pages. There is no guarantee that users of the filesystem will get all XXX pages. I see the use of the reserve option to be: # Make sure there are XXX huge pages in the global pool echo XXX > /proc/sys/vm/nr_hugepages # Mount/create the filesystem and reserve XXX huge pages mount -t hugetlbfs -o size=XXX,reserve=XXX none /huge If the mount is successful, then users of the filesystem know their are XXX huge pages available for their use. -- Mike Kravetz