From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751696AbZFLEAf (ORCPT ); Fri, 12 Jun 2009 00:00:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751098AbZFLEAU (ORCPT ); Fri, 12 Jun 2009 00:00:20 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:63855 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750979AbZFLEAS (ORCPT ); Fri, 12 Jun 2009 00:00:18 -0400 Message-ID: <4A31D326.3030206@cn.fujitsu.com> Date: Fri, 12 Jun 2009 12:01:42 +0800 From: Li Zefan User-Agent: Thunderbird 2.0.0.9 (X11/20071115) MIME-Version: 1.0 To: KAMEZAWA Hiroyuki CC: Pekka J Enberg , linux-kernel@vger.kernel.org, mingo@elte.hu, hannes@cmpxchg.org, torvalds@linux-foundation.org, yinghai@kernel.org, Balbir Singh , "linux-mm@kvack.org" Subject: Re: boot panic with memcg enabled (Was [PATCH 3/4] memcg: don't use bootmem allocator in setup code) References: <4A31C258.2050404@cn.fujitsu.com> <20090612115501.df12a457.kamezawa.hiroyu@jp.fujitsu.com> <20090612124408.721ba2ae.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20090612124408.721ba2ae.kamezawa.hiroyu@jp.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org KAMEZAWA Hiroyuki wrote: > On Fri, 12 Jun 2009 11:55:01 +0900 > KAMEZAWA Hiroyuki wrote: > >> On Fri, 12 Jun 2009 10:50:00 +0800 >> Li Zefan wrote: >> >>> (This patch should have CCed memcg maitainers) >>> >>> My box failed to boot due to initialization failure of page_cgroup, and >>> it's caused by this patch: >>> >>> + page = alloc_pages_node(nid, GFP_NOWAIT | __GFP_ZERO, order); >>> >> Oh, I don't know this patch ;( >> >>> I added a printk, and found that order == 11 == MAX_ORDER. >>> >> maybe possible because this allocates countinous pages of 60%? length of >> memmap. >> If __alloc_bootmem_node_nopanic() is not available any more, memcg should be >> only used under CONFIG_SPARSEMEM. >> >> Is that a request from bootmem maintainer ? >> > In other words, > - Is there any replacment function to allocate continuous pages bigger > than MAX_ORDER ? > - If not, memcg (and io-controller under development) shouldn't support > memory model other than SPARSEMEM. > > IIUC, page_cgroup_init() is called before mem_init() and we could use > alloc_bootmem() here. > > Could someone teach me which thread should I read to know > "why alloc_bootmem() is gone ?" ? > alloc_bootmem() is not gone, but slab allocator is setup much earlier now. See this commit: commit 83b519e8b9572c319c8e0c615ee5dd7272856090 Author: Pekka Enberg Date: Wed Jun 10 19:40:04 2009 +0300 slab: setup allocators earlier in the boot sequence now page_cgroup_init() is called after mem_init().