Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756826Ab3HGBiy (ORCPT ); Tue, 6 Aug 2013 21:38:54 -0400 Received: from g6t0187.atlanta.hp.com ([15.193.32.64]:19637 "EHLO g6t0187.atlanta.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756697Ab3HGBix (ORCPT ); Tue, 6 Aug 2013 21:38:53 -0400 Message-ID: <1375839529.2134.50.camel@buesod1.americas.hpqcorp.net> Subject: Re: [PATCH 17/18] mm, hugetlb: retry if we fail to allocate a hugepage with use_reserve From: Davidlohr Bueso To: David Gibson Cc: Joonsoo Kim , Andrew Morton , Rik van Riel , Mel Gorman , Michal Hocko , "Aneesh Kumar K.V" , KAMEZAWA Hiroyuki , Hugh Dickins , Davidlohr Bueso , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wanpeng Li , Naoya Horiguchi , Hillf Danton Date: Tue, 06 Aug 2013 18:38:49 -0700 In-Reply-To: <20130807010312.GA17110@voom.redhat.com> References: <1375075929-6119-1-git-send-email-iamjoonsoo.kim@lge.com> <1375075929-6119-18-git-send-email-iamjoonsoo.kim@lge.com> <20130729072823.GD29970@voom.fritz.box> <20130731053753.GM2548@lge.com> <20130803104302.GC19115@voom.redhat.com> <20130805073647.GD27240@lge.com> <1375834724.2134.49.camel@buesod1.americas.hpqcorp.net> <20130807010312.GA17110@voom.redhat.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.4.4 (3.4.4-2.fc17) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1957 Lines: 44 On Wed, 2013-08-07 at 11:03 +1000, David Gibson wrote: > On Tue, Aug 06, 2013 at 05:18:44PM -0700, Davidlohr Bueso wrote: > > On Mon, 2013-08-05 at 16:36 +0900, Joonsoo Kim wrote: > > > > Any mapping that doesn't use the reserved pool, not just > > > > MAP_NORESERVE. For example, if a process makes a MAP_PRIVATE mapping, > > > > then fork()s then the mapping is instantiated in the child, that will > > > > not draw from the reserved pool. > > > > > > > > > Should we ensure them to allocate the last hugepage? > > > > > They map a region with MAP_NORESERVE, so don't assume that their requests > > > > > always succeed. > > > > > > > > If the pages are available, people get cranky if it fails for no > > > > apparent reason, MAP_NORESERVE or not. They get especially cranky if > > > > it sometimes fails and sometimes doesn't due to a race condition. > > > > > > Hello, > > > > > > Hmm... Okay. I will try to implement another way to protect race condition. > > > Maybe it is the best to use a table mutex :) > > > Anyway, please give me a time, guys. > > > > So another option is to take the mutex table patchset for now as it > > *does* improve things a great deal, then, when ready, get rid of the > > instantiation lock all together. > > We still don't have a solid proposal for doing that. Joonsoo Kim's > patchset misses cases (non reserved mappings). I'm also not certain > there aren't a few edge cases which can lead to even reserved mappings > failing, and if that happens the patches will lead to livelock. > Exactly, which is why I suggest minimizing the lock contention until we do have such a proposal. > Getting rid of the instantiation mutex is a lot harder than it appears. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/