All of lore.kernel.org
 help / color / mirror / Atom feed
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: Fix virtual kernel memory printing for sparsemem
Date: Thu, 25 Mar 2010 15:37:41 -0000	[thread overview]
Message-ID: <000a01cacc31$1b63a760$522af620$@deacon@arm.com> (raw)
In-Reply-To: <20100325153043.GE6590@n2100.arm.linux.org.uk>


Hi Russell,

* Russell King wrote:
> On Thu, Mar 25, 2010 at 03:24:29PM +0000, Catalin Marinas wrote:
> > On Thu, 2010-03-25 at 15:10 +0000, Russell King - ARM Linux wrote:
> > > While this looks fine, I'd like to see a lot of Tested-by's against
> > > this before it's merged - we've had similar code in show_mem()
> > > which has proven to be quite problematical to get right for all the
> > > various different combinations we have.
> > >
> > > However, we also have the same method in show_mem() which we know
> > > works fine, so I'd also like to see the problem with using it in
> > > mem_init() fully analysed - rather than a "possibly because".
> >
> > I can remove the "possibly" part :). The page_count() is given a page
> > with some random flags and it thinks it's a compound page. It than tries
> > to access page->first which isn't set, hence the error.
> >
> > The original code assumes that for a given node the map is contiguous
> > and it calculates the page as (map + pfn). This is only true for
> > flatmem. With sparsemem the page calculation is a bit more complicated
> > but handled by pfn_to_page().
> 
> And show_mem() ?  It seems to suffer from the same problem.

Well if the page flags are being set randomly, there's a good chance that show_mem()
won't get as far as calling page_count(). Even then, if the _count field that ends up
being read happens to be aligned, it won't fail. If this is what is happening, I'd
expect show_mem to give incorrect results on platforms with SPARSEMEM enabled. Has this
been observed by anybody?

Will

  reply	other threads:[~2010-03-25 15:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-25 14:53 [PATCH] ARM: Fix virtual kernel memory printing for sparsemem Catalin Marinas
2010-03-25 15:10 ` Russell King - ARM Linux
2010-03-25 15:24   ` Catalin Marinas
2010-03-25 15:30     ` Russell King - ARM Linux
2010-03-25 15:37       ` Will Deacon [this message]
2010-03-25 16:01       ` Catalin Marinas
2010-03-25 17:46         ` Will Deacon
2010-05-04 16:13         ` Marek Vasut
2010-05-04 16:18           ` Russell King - ARM Linux
2010-05-04 16:28             ` Catalin Marinas
2010-05-04 17:00               ` Marek Vasut
2010-05-04 16:02 ` Marek Vasut

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='000a01cacc31$1b63a760$522af620$@deacon@arm.com' \
    --to=will.deacon@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.