Subject: Re: uvm_page_physload
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Nick Hudson <skrll@netbsd.org>
List: tech-kern
Date: 08/25/2006 18:16:06
On Friday 25 August 2006 14:52, Izumi Tsutsui wrote:
> skrll@NetBSD.org wrote:
> > Is end/avail_end inclusive or not?
>
> uvm/uvm_page.c has the following comment:
> >>  * uvm_page_physload: load physical memory into VM system
> >>  *
> >>  * => all args are PFs
> >>  * => all pages in start/end get vm_page structures
> >>  * => areas marked by avail_start/avail_end get added to the free page
> >> pool * => we are limited to VM_PHYSSEG_MAX physical memory segments
>
> It looks struct vm_page is prepared for pages between start and end,
> and only pages between avail_start and avail_end are registered into
> the free page pool.

It's the free pages I'm concerned with...

The background for this is that hppa registers the pages between the PT_LOAD 
segments of the kernel as free. There  can be quite a few page there as the 
linker script aligns to 2MByte boundaries. 

I've played safe with declaring pages free via avail_start/avail_end in my 
recent change.

Nick