Re: pfn_to_nid under CONFIG_SPARSEMEM and CONFIG_NUMA

Andy Whitcroft
2005-11-16T13:25:29Z

Mike Kravetz wrote:
> The following code/comment is in <linux/mmzone.h> if SPARSEMEM
> and NUMA are configured.
>
> /*
> * These are _only_ used during initialisation, therefore they
> * can use __initdata ... They could have names to indicate
> * this restriction.
> */
> #ifdef CONFIG_NUMA
> #define pfn_to_nid early_pfn_to_nid
> #endif

Ok. This was a ploy to avoid lots of code churn which has bitten us.
The separation here is to indicate that pfn_to_nid isn't necessarily
safe until after the memory model is init'd. When the code was
initially implmented we only used pfn_to_nid in init code so it wasn't
an issue. What we need to do here is break this link and make sure each
user is using the right version.

I'll go and put together something now.

-apw