Re: [memcg BUG ?] failed to boot on IA64 with CONFIG_DISCONTIGMEM=y

From: Li Zefan
Date: Thu Dec 04 2008 - 22:33:14 EST


KAMEZAWA Hiroyuki wrote:
> On Fri, 5 Dec 2008 12:20:24 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
>
>> On Fri, 05 Dec 2008 11:09:29 +0800
>> Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
>>
>>> Kernel version: 2.6.28-rc7
>>> Arch: IA64
>>> Memory model: DISCONTIGMEM
>>>
>>> ELILO boot: Uncompressing Linux... done
>>> Loading file initrd-2.6.28-rc7-lizf.img...done
>>> (frozen)
>>>
>>>
>>> Booted successfully with cgroup_disable=memory, here is the dmesg:
>>>
>> thx, will dig into...Maybe you're the first person using DISCONTIGMEM with
>> empty_node after page_cgroup-alloc-at-boot.
>>

I was reading the code in page_cgroup.c, and It came to my mind that maybe
no one ever tried DISCONTIGMEM+memcg, so I had it a try..

>> How about this ?
>
> Ahhh..sorry.
>
> this one please.
> ==
>
> From: kamezawa.hiroyu@xxxxxxxxxxxxxx
>
> page_cgroup should ignore empty-nodes.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>

Now it booted successfully. :)

Tested-by: Li Zefan <lizf@xxxxxxxxxxxxxx>

> ---
> mm/page_cgroup.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> Index: mmotm-2.6.28-Dec03/mm/page_cgroup.c
> ===================================================================
> --- mmotm-2.6.28-Dec03.orig/mm/page_cgroup.c
> +++ mmotm-2.6.28-Dec03/mm/page_cgroup.c
> @@ -51,6 +51,9 @@ static int __init alloc_node_page_cgroup
> start_pfn = NODE_DATA(nid)->node_start_pfn;
> nr_pages = NODE_DATA(nid)->node_spanned_pages;
>
> + if (!nr_pages)
> + return 0;
> +
> table_size = sizeof(struct page_cgroup) * nr_pages;
>
> base = __alloc_bootmem_node_nopanic(NODE_DATA(nid),
>
>
--
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/