I have reviewed the uses of pfn_to_nid() in 2.6.14-mm2. The only
user of the non-init pfn_to_nid is the one in check_pte_range().
So we simply need to profide a non-early pfn_to_nid() implementation
for SPARSEMEM. Whilst reviewing these interfaces I found two
alternative dependant interfaces which are not used.
Following this message are three patches:
kvaddr_to_nid-not-used-in-common-code: removes the unused interface
kvaddr_to_nid().
pfn_to_pgdat-not-used-in-common-code: removes the unused interface
pfn_to_pgdat().
sparse-provide-pfn_to_nid: provides pfn_to_nid() for SPARSEMEM.
Note that this implmentation assumes the pfn has been validated
prior to use. The only intree user of this call does this.
We perhaps need to make this part of the signature for this function.
Mike, how does this look to you?
-apw
On Wed, Nov 16, 2005 at 10:59:53PM +0000, Andy Whitcroft wrote:
> Following this message are three patches:
>
> kvaddr_to_nid-not-used-in-common-code: removes the unused interface
> kvaddr_to_nid().
>
> pfn_to_pgdat-not-used-in-common-code: removes the unused interface
> pfn_to_pgdat().
>
> sparse-provide-pfn_to_nid: provides pfn_to_nid() for SPARSEMEM.
> Note that this implmentation assumes the pfn has been validated
> prior to use. The only intree user of this call does this.
> We perhaps need to make this part of the signature for this function.
>
> Mike, how does this look to you?
I like the idea of getting rid of unused interfaces as well as getting
the node information from the page structs. It works for me on powerpc.
--
Mike