[PATCH] ARM: Fix virtual kernel memory printing for sparsemem

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Mar 25 11:30:43 EDT 2010


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.



More information about the linux-arm-kernel mailing list