linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@shadowen.org>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Dave Hansen <haveblue@us.ibm.com>, Bob Picco <bob.picco@hp.com>,
	Ingo Molnar <mingo@elte.hu>,
	"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: Sun, 07 May 2006 14:07:32 +0100	[thread overview]
Message-ID: <445DF114.4090708@shadowen.org> (raw)
In-Reply-To: <445C5F36.3030207@yahoo.com.au>

Nick Piggin wrote:
> Dave Hansen wrote:
> 
>> Ahhh.  I hadn't made the ia64 connection.  I wonder if it is worth
>> making CONFIG_HOLES_IN_ZONE say ia64 or something about vmem_map in it
>> somewhere.  Might be worth at least a comment like this:
>>
>> +               if (page_in_zone_hole(buddy)) /* noop on all but ia64 */
>> +                       break;
>> +               else if (page_zonenum(buddy) != page_zonenum(page))
>> +                       break;
>> +               else if (!page_is_buddy(buddy, order))
>>                         break;          /* Move the buddy up one
>> level. */
>>
>> BTW, wasn't the whole idea of discontig to have holes in zones (before
>> NUMA) without tricks like this? ;)
> 
> 
> Yes.
> 
> I don't like the patch much, because all that logic should be moved
> into page_is_buddy where I put it (surely it is more readable not to
> have the checks spilling out -- a page which is not in the correct
> zone or is a "hole" is by definition not a buddy, right?)
> 
> So, I agree with adding the zone check if any architecture needs it.
> But it would be something under CONFIG_HOLES_IN_ZONE, and the arch
> needs to *either* align zones correctly (as they've always had to),
> or turn this option on.

I agree that there is no need for these checks to leak out of
page_is_buddy().  If its not there or in another zone, its not my buddy.
 The allocator loop is nasty enough as it is.

I think we need to do a couple of things:

1) check the alignment of the zones matches the implied alignment
constraints and correct it as we go.
2) optionally allow an architecture to say its not aligning and doesn't
want to have to align its zone -- providing a config option to add the
zone index checks

I think the later is valuable for these test builds and potentially for
the embedded side where megabytes mean something.

I'm testing a patch for this at the moment and will drop it out when I'm
done.

-apw

--
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>

  reply	other threads:[~2006-05-07 13:07 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20060419112130.GA22648@elte.hu>
     [not found] ` <p73aca07whs.fsf@bragg.suse.de>
     [not found]   ` <20060502070618.GA10749@elte.hu>
     [not found]     ` <200605020905.29400.ak@suse.de>
     [not found]       ` <44576688.6050607@mbligh.org>
2006-05-02 14:25         ` assert/crash in __rmqueue() when enabling CONFIG_NUMA Nick Piggin
2006-05-04  1:32           ` Bob Picco
2006-05-04  8:37             ` Ingo Molnar
2006-05-04  9:14               ` Ingo Molnar
2006-05-04  9:26                 ` Ingo Molnar
2006-05-04  8:37             ` Andy Whitcroft
2006-05-04 15:21             ` Dave Hansen
2006-05-04 15:46               ` Bob Picco
2006-05-04 16:07                 ` Dave Hansen
2006-05-04 19:25                 ` Ingo Molnar
2006-05-04 19:43                   ` Bob Picco
2006-05-04 21:50                     ` Andy Whitcroft
2006-05-05  5:17                       ` Ingo Molnar
2006-05-05 13:55                       ` Bob Picco
2006-05-05 14:33                         ` Dave Hansen
2006-05-05 14:50                           ` Bob Picco
2006-05-05 14:57                             ` Dave Hansen
2006-05-05 15:03                               ` Martin J. Bligh
2006-05-05 16:22                                 ` Bob Picco
2006-05-05 16:18                               ` Bob Picco
2006-05-06  8:32                               ` Nick Piggin
2006-05-07 13:07                                 ` Andy Whitcroft [this message]
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                                       ` [PATCH 1/3] zone init check and report unaligned zone boundries Andy Whitcroft
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                                       ` [PATCH 3/3] zone allow unaligned zone boundries Andy Whitcroft
2006-05-11  7:59                                       ` [PATCH 0/3] Zone boundry alignment fixes Andrew Morton
2006-05-12 14:19                                         ` Ingo Molnar
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:21                                           ` [PATCH 1/2] zone init check and report unaligned zone boundaries fix Andy Whitcroft
2006-05-18 14:21                                           ` [PATCH 2/2] zone allow unaligned zone boundaries spelling fix 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:55                                           ` [PATCH 1/2] zone init check and report unaligned zone boundaries fix Andy Whitcroft
2006-05-18 15:55                                           ` [PATCH 2/2] zone allow unaligned zone boundaries spelling fix Andy Whitcroft

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=445DF114.4090708@shadowen.org \
    --to=apw@shadowen.org \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=bob.picco@hp.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).