linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andy Whitcroft <apw@shadowen.org>
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: [PATCH 1/3] zone init check and report unaligned zone boundries
Date: Tue, 09 May 2006 21:28:49 +1000	[thread overview]
Message-ID: <44607CF1.5080109@yahoo.com.au> (raw)
In-Reply-To: <20060509110520.GA9634@shadowen.org>

Patchset looks nice, Andy. Page allocator stuff looks fine, just
a couple of questions about the setup and alignment stuff:

Andy Whitcroft wrote:
> zone init check and report unaligned zone boundries
> 
> We have a number of strict constraints on the layout of struct
> page's for use with the buddy allocator.  One of which is that zone
> boundries must occur at MAX_ORDER page boundries.  Add a check for
> this during init.
> 
> Signed-off-by: Andy Whitcroft <apw@shadowen.org>
> ---
>  include/linux/mmzone.h |    5 +++++
>  mm/page_alloc.c        |    4 ++++
>  2 files changed, 9 insertions(+)
> diff -upN reference/include/linux/mmzone.h current/include/linux/mmzone.h
> --- reference/include/linux/mmzone.h
> +++ current/include/linux/mmzone.h
> @@ -388,6 +388,11 @@ static inline int is_dma(struct zone *zo
>  	return zone == zone->zone_pgdat->node_zones + ZONE_DMA;
>  }
>  
> +static inline unsigned long zone_boundry_align_pfn(unsigned long pfn)
> +{
> +	return pfn & ~((1 << MAX_ORDER) - 1);
> +}
> +
>  /* These two functions are used to setup the per zone pages min values */
>  struct ctl_table;
>  struct file;
> diff -upN reference/mm/page_alloc.c current/mm/page_alloc.c
> --- reference/mm/page_alloc.c
> +++ current/mm/page_alloc.c
> @@ -2078,6 +2078,10 @@ static void __init free_area_init_core(s
>  		struct zone *zone = pgdat->node_zones + j;
>  		unsigned long size, realsize;
>  
> +		if (zone_boundry_align_pfn(zone_start_pfn) != zone_start_pfn)
> +			printk(KERN_CRIT "node %d zone %s missaligned "
> +					"start pfn\n", nid, zone_names[j]);
> +


We also need to align the end of the zone I think? I think we should
try to force alignment by reducing the size here, or if that is not
possible, then panic?

If we don't either fix it or panic, then we're allowing users' machines
to run in an unstable state.

-- 
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com 

--
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-09 11:28 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
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 [this message]
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=44607CF1.5080109@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=apw@shadowen.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 \
    /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