[PATCH 0/6] Sizing zones and holes in an architecture independent manner V9
mel at csn.ul.ie
Tue Aug 22 18:38:50 EST 2006
On Mon, 21 Aug 2006, Keith Mannthey wrote:
> On 8/21/06, Mel Gorman <mel at csn.ul.ie> wrote:
>> This is V9 of the patchset to size zones and memory holes in an
>> architecture-independent manner. It booted successfully on 5 different
>> machines (arches were x86, x86_64, ppc64 and ia64) in a number of different
>> configurations and successfully built a kernel. If it fails on any machine,
>> booting with loglevel=8 and the console log should tell me what went wrong.
> I am wondering why this new api didn't cleanup the pfn_to_nid code
> path as well. Arches are left to still keep another set of
> nid-start-end info around. We are sending info like
pfn_to_nid() is used at runtime and the early_node_map is deleted by
then. As this step, I only want to get the initialisation correct. What
can be replaced is the architecture-specific early_pfn_to_nid() function
which I did for power and x86.
> add_active_range(unsigned int nid, unsigned long start_pfn, unsigned
> long end_pfn)
> With this info making a common pnf_to_nid seems to be of intrest so we
> don't have to keep redundant information in both generic and arch
> specific data structures.
To implement a common one of interest, the array would have to be
converted to a linked list at the end of boot so it could be modified by
memory hot-add, then pfn_to_nid() would walk the linked list rather than
the existing array. pfn_valid() would probably be replaced as well.
However, this is going to be slower (if more accurate in some cases) than
the existing pfn_valid() and so I would treat it as a separate issue.
> Are you intending the hot-add memory code path to call add_active_range or
Not at this time. I want to make sure the memory initialisation is right
before dealing with additional complications.
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
More information about the Linuxppc-dev