Re: [PATCH] memcgroup: check and initialize page->cgroup inmemmap_init_zone

From: KAMEZAWA Hiroyuki
Date: Fri Apr 18 2008 - 02:49:32 EST


On Fri, 18 Apr 2008 13:43:34 +0800
Shi Weihua <shiwh@xxxxxxxxxxxxxx> wrote:

> KAMEZAWA Hiroyuki wrote::
> > On Fri, 18 Apr 2008 12:32:56 +0900
> > KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/