From: "Bob Picco" <bob.picco@hp.com>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: Bob Picco <bob.picco@hp.com>, Andy Whitcroft <apw@shadowen.org>,
Ingo Molnar <mingo@elte.hu>,
Nick Piggin <nickpiggin@yahoo.com.au>,
"Martin J. Bligh" <mbligh@mbligh.org>, Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Linux Memory Management <linux-mm@kvack.org>
Subject: Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
Date: Fri, 5 May 2006 10:50:18 -0400 [thread overview]
Message-ID: <20060505145018.GI19859@localhost> (raw)
In-Reply-To: <1146839590.22503.48.camel@localhost.localdomain>
Dave Hansen wrote: [Fri May 05 2006, 10:33:10AM EDT]
> On Fri, 2006-05-05 at 09:55 -0400, Bob Picco wrote:
> > - if (!page_is_buddy(buddy, order))
> > + if (page_in_zone_hole(buddy))
> > + break;
> > + else if (page_zonenum(buddy) != page_zonenum(page))
> > + break;
> > + else if (!page_is_buddy(buddy, order))
> > break; /* Move the buddy up one level. */
>
> The page_zonenum() checks look good, but I'm not sure I understand the
> page_in_zone_hole() part. If a page is in a hole in a zone, it will
> still have a valid mem_map entry, right? It should also never have been
> put into the allocator, so it also won't ever be coalesced.
This has always been subtle and not too revealing. It probably should
have a comment. The page_in_zone_hole check is for ia64
VIRTUAL_MEM_MAP. You might compute a page structure which is in a hole not
backed by memory; an unallocated page which covers pages structures.
VIRTUAL_MEM_MAP uses a contiguous virtual region with virtual space holes
not backed by memory. Take a look at ia64_pfn_valid.
>
> I'm a bit confused. :(
>
> BTW, I like the idea of just aligning HIGHMEM's start because it has no
> runtime cost. Buuuuut, it is still just a shift and compare of the two
> page->flags, which should already be (or will soon anyway be) in the
> cache.
Yes. I'll defer to Andy whether he wants the zonenum check or to align
HIGHMEM corrrectly.
>
> -- Dave
>
bob
WARNING: multiple messages have this Message-ID (diff)
From: "Bob Picco" <bob.picco@hp.com>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: Bob Picco <bob.picco@hp.com>, Andy Whitcroft <apw@shadowen.org>,
Ingo Molnar <mingo@elte.hu>,
Nick Piggin <nickpiggin@yahoo.com.au>,
"Martin J. Bligh" <mbligh@mbligh.org>, Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Linux Memory Management <linux-mm@kvack.org>
Subject: Re: assert/crash in __rmqueue() when enabling CONFIG_NUMA
Date: Fri, 5 May 2006 10:50:18 -0400 [thread overview]
Message-ID: <20060505145018.GI19859@localhost> (raw)
In-Reply-To: <1146839590.22503.48.camel@localhost.localdomain>
Dave Hansen wrote: [Fri May 05 2006, 10:33:10AM EDT]
> On Fri, 2006-05-05 at 09:55 -0400, Bob Picco wrote:
> > - if (!page_is_buddy(buddy, order))
> > + if (page_in_zone_hole(buddy))
> > + break;
> > + else if (page_zonenum(buddy) != page_zonenum(page))
> > + break;
> > + else if (!page_is_buddy(buddy, order))
> > break; /* Move the buddy up one level. */
>
> The page_zonenum() checks look good, but I'm not sure I understand the
> page_in_zone_hole() part. If a page is in a hole in a zone, it will
> still have a valid mem_map entry, right? It should also never have been
> put into the allocator, so it also won't ever be coalesced.
This has always been subtle and not too revealing. It probably should
have a comment. The page_in_zone_hole check is for ia64
VIRTUAL_MEM_MAP. You might compute a page structure which is in a hole not
backed by memory; an unallocated page which covers pages structures.
VIRTUAL_MEM_MAP uses a contiguous virtual region with virtual space holes
not backed by memory. Take a look at ia64_pfn_valid.
>
> I'm a bit confused. :(
>
> BTW, I like the idea of just aligning HIGHMEM's start because it has no
> runtime cost. Buuuuut, it is still just a shift and compare of the two
> page->flags, which should already be (or will soon anyway be) in the
> cache.
Yes. I'll defer to Andy whether he wants the zonenum check or to align
HIGHMEM corrrectly.
>
> -- Dave
>
bob
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-05-05 14:50 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060419112130.GA22648@elte.hu>
2006-04-20 9:18 ` assert/crash in __rmqueue() when enabling CONFIG_NUMA Nick Piggin
2006-04-21 11:20 ` Ingo Molnar
2006-04-21 11:45 ` Ingo Molnar
2006-05-01 12:49 ` Ingo Molnar
2006-05-02 6:48 ` Andi Kleen
2006-05-02 7:06 ` Ingo Molnar
2006-05-02 7:05 ` Andi Kleen
2006-05-02 8:27 ` Ingo Molnar
2006-05-02 14:02 ` Martin J. Bligh
2006-05-02 14:25 ` Nick Piggin
2006-05-02 14:25 ` Nick Piggin
2006-05-04 1:32 ` Bob Picco
2006-05-04 1:32 ` Bob Picco
2006-05-04 8:37 ` Ingo Molnar
2006-05-04 8:37 ` Ingo Molnar
2006-05-04 9:14 ` Ingo Molnar
2006-05-04 9:14 ` Ingo Molnar
2006-05-04 9:26 ` Ingo Molnar
2006-05-04 9:26 ` Ingo Molnar
2006-05-04 8:37 ` Andy Whitcroft
2006-05-04 8:37 ` Andy Whitcroft
2006-05-04 15:21 ` Dave Hansen
2006-05-04 15:21 ` Dave Hansen
2006-05-04 15:46 ` Bob Picco
2006-05-04 15:46 ` Bob Picco
2006-05-04 16:07 ` Dave Hansen
2006-05-04 16:07 ` Dave Hansen
2006-05-04 19:25 ` Ingo Molnar
2006-05-04 19:25 ` Ingo Molnar
2006-05-04 19:43 ` Bob Picco
2006-05-04 19:43 ` Bob Picco
2006-05-04 21:50 ` Andy Whitcroft
2006-05-04 21:50 ` Andy Whitcroft
2006-05-05 5:17 ` Ingo Molnar
2006-05-05 5:17 ` Ingo Molnar
2006-05-05 13:55 ` Bob Picco
2006-05-05 13:55 ` Bob Picco
2006-05-05 14:33 ` Dave Hansen
2006-05-05 14:33 ` Dave Hansen
2006-05-05 14:50 ` Bob Picco [this message]
2006-05-05 14:50 ` Bob Picco
2006-05-05 14:57 ` Dave Hansen
2006-05-05 14:57 ` Dave Hansen
2006-05-05 15:03 ` Martin J. Bligh
2006-05-05 15:03 ` Martin J. Bligh
2006-05-05 16:22 ` Bob Picco
2006-05-05 16:22 ` Bob Picco
2006-05-05 16:18 ` Bob Picco
2006-05-05 16:18 ` Bob Picco
2006-05-06 8:32 ` Nick Piggin
2006-05-06 8:32 ` Nick Piggin
2006-05-07 13:07 ` Andy Whitcroft
2006-05-07 13:07 ` Andy Whitcroft
2006-05-07 13:18 ` Nick Piggin
2006-05-07 13:18 ` Nick Piggin
2006-05-09 11:05 ` [PATCH 0/3] Zone boundry alignment fixes Andy Whitcroft
2006-05-09 11:05 ` Andy Whitcroft
2006-05-09 11:05 ` [PATCH 1/3] zone init check and report unaligned zone boundries Andy Whitcroft
2006-05-09 11:05 ` Andy Whitcroft
2006-05-09 11:28 ` Nick Piggin
2006-05-09 11:28 ` Nick Piggin
2006-05-09 11:05 ` [PATCH 2/3] x86 align highmem zone boundries with NUMA Andy Whitcroft
2006-05-09 11:05 ` Andy Whitcroft
2006-05-09 11:05 ` [PATCH 3/3] zone allow unaligned zone boundries Andy Whitcroft
2006-05-09 11:05 ` Andy Whitcroft
2006-05-11 7:59 ` [PATCH 0/3] Zone boundry alignment fixes Andrew Morton
2006-05-11 7:59 ` Andrew Morton
2006-05-12 14:19 ` Ingo Molnar
2006-05-12 14:19 ` Ingo Molnar
2006-05-13 1:39 ` Nick Piggin
2006-05-13 1:39 ` Nick Piggin
2006-05-18 14:20 ` [PATCH 0/2] Zone boundary alignment fixes cleanups Andy Whitcroft
2006-05-18 14:20 ` Andy Whitcroft
2006-05-18 14:21 ` [PATCH 1/2] zone init check and report unaligned zone boundaries fix Andy Whitcroft
2006-05-18 14:21 ` Andy Whitcroft
2006-05-18 14:21 ` [PATCH 2/2] zone allow unaligned zone boundaries spelling fix Andy Whitcroft
2006-05-18 14:21 ` Andy Whitcroft
2006-05-18 14:49 ` Andy Whitcroft
2006-05-18 14:49 ` Andy Whitcroft
2006-05-18 15:54 ` [PATCH 0/2] Zone boundary alignment fixes, cleanups v2 Andy Whitcroft
2006-05-18 15:54 ` Andy Whitcroft
2006-05-18 15:55 ` [PATCH 1/2] zone init check and report unaligned zone boundaries fix Andy Whitcroft
2006-05-18 15:55 ` Andy Whitcroft
2006-05-18 15:55 ` [PATCH 2/2] zone allow unaligned zone boundaries spelling fix Andy Whitcroft
2006-05-18 15:55 ` Andy Whitcroft
2006-05-02 15:03 ` assert/crash in __rmqueue() when enabling CONFIG_NUMA Andi Kleen
2006-05-02 15:17 ` Martin J. Bligh
2006-05-02 15:45 ` Andi Kleen
2006-05-02 16:02 ` Martin J. Bligh
2006-05-02 16:05 ` Andi Kleen
2006-05-02 19:47 ` Ingo Molnar
2006-05-02 19:48 ` Ingo Molnar
2006-05-02 19:44 ` Andi Kleen
2006-05-02 19:56 ` Martin Bligh
2006-05-02 20:00 ` Andi Kleen
2006-05-02 20:13 ` Ingo Molnar
2006-05-02 20:12 ` Andi Kleen
2006-05-02 15:52 ` Ingo Molnar
2006-05-02 19:55 ` [RFC, PATCH] cond_resched() added to close_files() Eric Dumazet
2006-05-03 7:01 ` Ingo Molnar
2006-05-12 9:44 ` Andrew Morton
2006-05-12 10:20 ` Ingo Molnar
2006-05-12 12:24 ` Eric Dumazet
2006-05-14 0:09 ` Lee Revell
2006-04-21 11:51 ` assert/crash in __rmqueue() when enabling CONFIG_NUMA Nick Piggin
2006-04-19 11:23 Ingo Molnar
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=20060505145018.GI19859@localhost \
--to=bob.picco@hp.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=apw@shadowen.org \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mbligh@mbligh.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
/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.