Messages in this thread Patch in this message |  | | | Subject | resubmit - [PATCH 1/4] sparsemem base: early_pfn_to_nid() (works before sparse is initialized) | | From | Dave Hansen <> | | Date | Fri, 25 Mar 2005 12:43:56 -0800 |
| |
We _know_ which node pages in general belong to, at least at a very gross level in node_{start,end}_pfn[]. Use those to target the allocations of pages. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> --- memhotplug-dave/arch/i386/mm/discontig.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+) diff -puN arch/i386/mm/discontig.c~FROM-MM-add-early_pfn_to_nid arch/i386/mm/discontig.c --- memhotplug/arch/i386/mm/discontig.c~FROM-MM-add-early_pfn_to_nid 2005-03-25 08:17:12.000000000 -0800 +++ memhotplug-dave/arch/i386/mm/discontig.c 2005-03-25 08:17:12.000000000 -0800 @@ -149,6 +149,21 @@ static void __init find_max_pfn_node(int BUG(); } +/* Find the owning node for a pfn. */ +int early_pfn_to_nid(unsigned long pfn) +{ + int nid; + + for_each_node(nid) { + if (node_end_pfn[nid] == 0) + break; + if (node_start_pfn[nid] <= pfn && node_end_pfn[nid] >= pfn) + return nid; + } + + return 0; +} + /* * Allocate memory for the pg_data_t for this node via a crude pre-bootmem * method. For node zero take this from the bottom of memory, for _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |