Messages in this thread | | | Date | Fri, 18 Apr 2008 15:47:53 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH] memcgroup: check and initialize page->cgroup in memmap_init_zone |
| |
On Fri, 18 Apr 2008 13:43:34 +0800 Shi Weihua <shiwh@cn.fujitsu.com> wrote:
> KAMEZAWA Hiroyuki wrote:: > > On Fri, 18 Apr 2008 12:32:56 +0900 > > KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: > > > >>> Or perhaps that page was used and then later freed before we got to > >>> memmap_init_zone() and was freed with a non-zero ->page_cgroup. Which is > >>> unlikely given that page.page_cgroup was only just added and is only > >>> present if CONFIG_CGROUP_MEM_RES_CTLR. > >>> > >> Hmm, I'll try his .config and see what happens. > >> > > I reproduced the hang with his config and confirmed his fix works well. > > But I can't find why...I'll dig a bit more. > > If i use CONFIG_SPARSEMEM instead of CONFIG_DISCONTIGMEM, the kernel > boots successfully. > AKAICT, CONFIG_DISCONTIGMEM + 64KB page -> hang --------------(*) CONFIG_SPRASEMEM_VMEMMAP + 64KB page -> works well CONFIG_DISCONTIGMEM + 16KB page -> works well CONFIG_SPARSEMEM_VMEMMAP + 16KB page -> works well
CONFIG_DISCONTIGMEM + 64KB page + your patch -> works well
Hmm. maybe memmap(and all possible bootmem) isn't cleared well in case (*). still chasing it.
Thanks, -Kame
| |