From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Dhaval Giani <dhaval@linux.vnet.ibm.com>,
clameter@sgi.com, bob.picco@hp.com, nacc@us.ibm.com,
kamezawa.hiroyu@jp.fujitsu.com, mel@skynet.ie,
akpm@linux-foundation.org, Balbir Singh <balbir@in.ibm.com>,
Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com>,
lkml <linux-kernel@vger.kernel.org>,
ckrm-tech <ckrm-tech@lists.sourceforge.net>
Subject: Re: Regression in 2.6.23-rc2-mm2, mounting cpusets causes a hang
Date: Tue, 14 Aug 2007 11:03:51 -0400 [thread overview]
Message-ID: <1187103831.6281.24.camel@localhost> (raw)
In-Reply-To: <20070813201215.GA16908@vino.hallyn.com>
On Mon, 2007-08-13 at 15:12 -0500, Serge E. Hallyn wrote:
> Quoting Dhaval Giani (dhaval@linux.vnet.ibm.com):
> > Hi,
> >
> > On mounting cpusets using containers, I have been hitting the following
> > bug.
> >
> >
> > -----------[ cut here ]------------
> > kernel BUG at kernel/cpuset.c:331!
<snip>
> > CONFIG_HIGHMEM=y
> > CONFIG_X86_PAE=y
> > # CONFIG_NUMA is not set
> > CONFIG_ARCH_POPULATES_NODE_MAP=y
> > CONFIG_SELECT_MEMORY_MODEL=y
> > CONFIG_FLATMEM_MANUAL=y
> > # CONFIG_DISCONTIGMEM_MANUAL is not set
> > # CONFIG_SPARSEMEM_MANUAL is not set
> > CONFIG_FLATMEM=y
> > CONFIG_FLAT_NODE_MEM_MAP=y
> > # CONFIG_SPARSEMEM_STATIC is not set
> > CONFIG_SPLIT_PTLOCK_CPUS=4
> > CONFIG_RESOURCES_64BIT=y
> > CONFIG_ZONE_DMA_FLAG=1
<snip>
>
> Yeah, I'm seeing the same thing. Oddly, my node_states[N_NORMAL_MEMORY]
> and node_states[N_HIGH_MEMORY] are empty, while node_states[N_ONLINE]
> contains my single cpu (on i386 kvm image).
>
> -serge
Yes, you'll definitely hit that BUG if the N_HIGH_MEMORY mask is empty.
So far, I can't see how this could be, tho'. __build_all_zonelists()
should be called for non-NUMA as well as NUMA. It iterates over "all
on-line nodes"--the N_ONLINE state, which is initialized to have node 0
on-line. That should work for a non-NUMA i386, right?
In the loop over all on-line nodes, __build_all_zonelists() sets
N_HIGH_MEMORY for each [on-line] node with ANY present pages--i.e.,
non-zero pgdat->node_present_pages. Then, check_for_regular_memory()
will set N_NORMAL_MEMORY for any nodes with non-zero zone->present_pages
for any zone <= ZONE_NORMAL.
I don't have an i386 test system to verify this, but from cscope, it
looks like the pgdat, including node_present_pages should be setup in
the following call path:
start_kernel()->setup_arch()->zone_sizes_init()->
free_area_init_zones()->free_area_init_zone->
calculate_node_total_pages()
This is called before build_all_zonelists()--also from start_kernel(),
so node_present_pages should be non-zero when we populate the N_*_MEMORY
states...
Any ideas, anyone?
Lee
next prev parent reply other threads:[~2007-08-14 16:31 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-12 15:21 Regression in 2.6.23-rc2-mm2, mounting cpusets causes a hang Dhaval Giani
2007-08-13 20:12 ` Serge E. Hallyn
2007-08-14 15:03 ` Lee Schermerhorn [this message]
2007-08-14 18:03 ` Serge E. Hallyn
2007-08-14 18:13 ` Lee Schermerhorn
2007-08-14 19:23 ` Serge E. Hallyn
2007-08-14 20:49 ` Serge E. Hallyn
2007-08-14 21:07 ` Lee Schermerhorn
2007-08-14 21:28 ` Christoph Lameter
2007-08-14 21:41 ` Lee Schermerhorn
2007-08-14 21:56 ` Christoph Lameter
2007-08-15 13:43 ` Lee Schermerhorn
2007-08-15 14:31 ` Serge E. Hallyn
2007-08-15 16:23 ` Lee Schermerhorn
2007-08-15 16:31 ` Serge E. Hallyn
2007-08-15 16:52 ` Dhaval Giani
2007-08-15 17:08 ` Serge E. Hallyn
2007-08-15 18:07 ` Lee Schermerhorn
2007-08-15 20:39 ` Christoph Lameter
2007-08-16 13:26 ` Lee Schermerhorn
2007-08-16 19:14 ` Christoph Lameter
2007-08-15 20:38 ` Christoph Lameter
2007-08-15 16:31 ` Paul Jackson
2007-08-15 16:29 ` Paul Jackson
2007-08-15 17:12 ` Serge E. Hallyn
2007-08-15 18:00 ` Lee Schermerhorn
2007-08-15 18:33 ` Andrew Morton
2007-08-31 16:54 ` [ckrm-tech] " Paul Menage
2007-08-16 4:46 ` Paul Menage
2007-08-15 20:36 ` Christoph Lameter
2007-08-15 20:48 ` Lee Schermerhorn
2007-08-16 2:36 ` [ckrm-tech] " Paul Jackson
2007-08-14 21:37 ` Lee Schermerhorn
2007-08-14 21:39 ` Christoph Lameter
2007-08-14 21:01 ` Lee Schermerhorn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1187103831.6281.24.camel@localhost \
--to=lee.schermerhorn@hp.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@in.ibm.com \
--cc=bob.picco@hp.com \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=clameter@sgi.com \
--cc=dhaval@linux.vnet.ibm.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mel@skynet.ie \
--cc=nacc@us.ibm.com \
--cc=serge@hallyn.com \
--cc=vatsa@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.