On Fri, May 22, 2015 at 01:31:55PM -0700, Tony Luck wrote:
> On Tue, Apr 28, 2015 at 7:37 AM, Mel Gorman <mgor...@suse.de> wrote:
> > Currently each page struct is set as reserved upon initialization.
> > This patch leaves the reserved bit clear and only sets the reserved bit
> > when it is known the memory was allocated by the bootmem allocator. This
> > makes it easier to distinguish between uninitialised struct pages and
> > reserved struct pages in later patches.
> 
> On ia64 my linux-next builds now report a bunch of messages like this:
> 
> put_kernel_page: page at 0xe000000005588000 not in reserved memory
> put_kernel_page: page at 0xe000000005588000 not in reserved memory
> put_kernel_page: page at 0xe000000005580000 not in reserved memory
> put_kernel_page: page at 0xe000000005580000 not in reserved memory
> put_kernel_page: page at 0xe000000005580000 not in reserved memory
> put_kernel_page: page at 0xe000000005580000 not in reserved memory
> 
> the two different pages match up with two objects from the loaded kernel
> that get mapped by arch/ia64/mm/init.c:setup_gate()
> 
> a000000101588000 D __start_gate_section
> a000000101580000 D empty_zero_page
> 
> Should I look for a place to set the reserved bit on page structures for these
> addresses?

That would be preferred.

> Or just remove the test and message in put_kernel_page()
> [I added a debug "else" clause here - every caller passes in a page that is
> not reserved]
> 
>         if (!PageReserved(page))
>                 printk(KERN_ERR "put_kernel_page: page at 0x%p not in
> reserved memory\n",
>                        page_address(page));
> 

But as it's a debugging check that is ia-64 specific I think either
should be fine.

-- 
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to