public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Mel Gorman <mel@csn.ul.ie>
Cc: linux-arm-kernel@lists.arm.linux.org.uk,
	linux-kernel@vger.kernel.org, hsweeten@visionengravers.com
Subject: Re: [PATCH] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo (resend)
Date: Thu, 21 Aug 2008 09:34:00 -0700	[thread overview]
Message-ID: <20080821093400.fe02a76f.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080821132804.GA6206@csn.ul.ie>

On Thu, 21 Aug 2008 14:28:05 +0100 Mel Gorman <mel@csn.ul.ie> wrote:

> This is a resend. The last patch went to Russell King with lkml cc'd as I
> wasn't subscribed to the linux-arm list. However, I haven't heard it being
> picked up so trying linux-arm this time.
> 
> ===
> 
> Ordinarily, memory holes in flatmem still have a valid memmap and is safe
> to use. However, an architecture (ARM) frees up the memmap backing memory
> holes on the assumption it is never used. /proc/pagetypeinfo reads the
> whole range of pages in a zone believing that the memmap is valid and that
> pfn_valid will return false if it is not. On ARM, freeing the memmap breaks
> the page->zone linkages even though pfn_valid() returns true and the kernel
> can oops shortly afterwards due to accessing a bogus struct zone *.
> 
> This patch lets architectures say when FLATMEM can have holes in the
> memmap. Rather than an expensive check for valid memory, /proc/pagetypeinfo
> will confirm that the page linkages are still valid by checking page->zone
> is still the expected zone. The lookup of page_zone is safe as there is a
> limited range of memory that is accessed when calling page_zone.  Even if
> page_zone happens to return the correct zone, the impact is that the counters
> in /proc/pagetypeinfo are slightly off but fragmentation monitoring is
> unlikely to be relevant on an embedded system.

Sounds like this might fix an oops.  Does it?

The patch applies to 2.6.25 and to 2.6.26.  Should it be backported?


  reply	other threads:[~2008-08-21 16:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-21 13:28 [PATCH] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo (resend) Mel Gorman
2008-08-21 16:34 ` Andrew Morton [this message]
2008-08-21 16:56   ` Russell King - ARM Linux
2008-08-22 14:49     ` Mel Gorman
2008-08-22 16:19 ` Dave Hansen
2008-08-22 17:16   ` 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=20080821093400.fe02a76f.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=hsweeten@visionengravers.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    /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