From: Bharata B Rao <bharata@in.ibm.com>
To: Christoph Lameter <clameter@engr.sgi.com>
Cc: Andi Kleen <ak@suse.de>, Ray Bryant <raybry@mpdtxmail.amd.com>,
discuss@x86-64.org, linux-kernel@vger.kernel.org
Subject: Re: [discuss] mmap, mbind and write to mmap'ed memory crashes 2.6.16-rc1[2] on 2 node X86_64
Date: Wed, 15 Feb 2006 16:08:13 +0530 [thread overview]
Message-ID: <20060215103813.GD2966@in.ibm.com> (raw)
In-Reply-To: <20060215054620.GA2966@in.ibm.com>
On Wed, Feb 15, 2006 at 11:16:20AM +0530, Bharata B Rao wrote:
> On Tue, Feb 14, 2006 at 11:33:00AM -0800, Christoph Lameter wrote:
> > I just took another look at this issue and I cannot see anything wrong. An
> > empty zone should be ignored by the page allocator since nr_free == 0. My
> > patch should not be needed.
>
> There is a check for list_empty(&area->free_list) in __rmqueue(), which
> I think is one of the points in the page allocator where the emptiness of
> the free_area list is checked. The current zone(when the crash happens)
> bypasses this test leading to this crash.
>
We don't initialize the free_area list for all zones. Instead,
free_area_init_core() does that only for zones which are non-empty.
But in __rmqueue(), we depend on these free_area lists to be intialized
correctly for all zones, which is not true in the present case we
are discussing.
I think we either need to initialize free_area lists for all zones
or check for !zone->free_area->nr_free in __rmqueue().
Even with this, mbind still needs to be fixed. Even though it
can't get a conforming zone in the node (MPOL_BIND case), right now,
it goes ahead with the "bind"ing of the memory area. This causes the
application to crash (assuming we have fixed the __rmqueue kernel crash)
(Haven't yet figured our why exactly the application dies)
Regards,
Bharata.
next prev parent reply other threads:[~2006-02-15 10:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060205163618.GB21972@in.ibm.com>
2006-02-05 17:03 ` [discuss] mmap, mbind and write to mmap'ed memory crashes 2.6.16-rc1[2] on 2 node X86_64 Andi Kleen
2006-02-06 16:11 ` Christoph Lameter
2006-02-06 18:12 ` Andi Kleen
2006-02-06 18:25 ` Christoph Lameter
2006-02-06 18:31 ` Andi Kleen
2006-02-06 18:45 ` Christoph Lameter
2006-02-06 18:55 ` Andi Kleen
2006-02-06 19:22 ` Christoph Lameter
2006-02-07 5:59 ` Bharata B Rao
2006-02-07 16:49 ` Christoph Lameter
2006-02-07 23:27 ` Ray Bryant
2006-02-07 23:36 ` Andi Kleen
2006-02-08 12:10 ` Bharata B Rao
2006-02-08 15:42 ` Christoph Lameter
2006-02-08 15:45 ` Andi Kleen
2006-02-08 15:59 ` Christoph Lameter
2006-02-08 16:06 ` Andi Kleen
2006-02-08 16:20 ` Christoph Lameter
2006-02-08 16:27 ` Andi Kleen
2006-02-08 16:51 ` Christoph Lameter
2006-02-09 4:39 ` Bharata B Rao
2006-02-09 9:58 ` Andi Kleen
2006-02-14 19:33 ` Christoph Lameter
2006-02-15 5:46 ` Bharata B Rao
2006-02-15 10:38 ` Bharata B Rao [this message]
2006-02-15 11:21 ` Andi Kleen
2006-02-15 18:14 ` Christoph Lameter
2006-02-16 5:18 ` Bharata B Rao
2006-02-15 18:10 ` Christoph Lameter
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=20060215103813.GD2966@in.ibm.com \
--to=bharata@in.ibm.com \
--cc=ak@suse.de \
--cc=clameter@engr.sgi.com \
--cc=discuss@x86-64.org \
--cc=linux-kernel@vger.kernel.org \
--cc=raybry@mpdtxmail.amd.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.