Messages in this thread | | | Date | Tue, 26 May 2015 11:22:19 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH 03/13] mm: meminit: Only set page reserved in the memblock region |
| |
On Fri, May 22, 2015 at 01:31:55PM -0700, Tony Luck wrote: > On Tue, Apr 28, 2015 at 7:37 AM, Mel Gorman <mgorman@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
| |