Re: pfn_to_nid under CONFIG_SPARSEMEM and CONFIG_NUMA

From: Andy Whitcroft
Date: Wed Nov 16 2005 - 08:25:46 EST


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/