diff options
-rw-r--r-- | arch/alpha/mm/numa.c | 16 | ||||
-rw-r--r-- | arch/i386/mm/pgtable.c | 2 | ||||
-rw-r--r-- | arch/ia64/mm/discontig.c | 9 | ||||
-rw-r--r-- | arch/m32r/mm/init.c | 4 | ||||
-rw-r--r-- | arch/mips/sgi-ip27/ip27-memory.c | 5 | ||||
-rw-r--r-- | arch/parisc/mm/init.c | 2 | ||||
-rw-r--r-- | arch/ppc64/mm/init.c | 4 | ||||
-rw-r--r-- | include/asm-alpha/mmzone.h | 3 | ||||
-rw-r--r-- | include/asm-i386/mmzone.h | 3 | ||||
-rw-r--r-- | include/asm-m32r/mmzone.h | 3 | ||||
-rw-r--r-- | include/asm-parisc/mmzone.h | 3 | ||||
-rw-r--r-- | include/asm-ppc64/mmzone.h | 3 | ||||
-rw-r--r-- | include/asm-x86_64/mmzone.h | 5 | ||||
-rw-r--r-- | include/linux/mmzone.h | 2 |
14 files changed, 28 insertions, 36 deletions
diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c index ba81c4422aaf..c7481d59b6df 100644 --- a/arch/alpha/mm/numa.c +++ b/arch/alpha/mm/numa.c | |||
@@ -327,8 +327,6 @@ void __init mem_init(void) | |||
327 | extern char _text, _etext, _data, _edata; | 327 | extern char _text, _etext, _data, _edata; |
328 | extern char __init_begin, __init_end; | 328 | extern char __init_begin, __init_end; |
329 | unsigned long nid, i; | 329 | unsigned long nid, i; |
330 | struct page * lmem_map; | ||
331 | |||
332 | high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); | 330 | high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); |
333 | 331 | ||
334 | reservedpages = 0; | 332 | reservedpages = 0; |
@@ -338,10 +336,10 @@ void __init mem_init(void) | |||
338 | */ | 336 | */ |
339 | totalram_pages += free_all_bootmem_node(NODE_DATA(nid)); | 337 | totalram_pages += free_all_bootmem_node(NODE_DATA(nid)); |
340 | 338 | ||
341 | lmem_map = node_mem_map(nid); | ||
342 | pfn = NODE_DATA(nid)->node_start_pfn; | 339 | pfn = NODE_DATA(nid)->node_start_pfn; |
343 | for (i = 0; i < node_spanned_pages(nid); i++, pfn++) | 340 | for (i = 0; i < node_spanned_pages(nid); i++, pfn++) |
344 | if (page_is_ram(pfn) && PageReserved(lmem_map+i)) | 341 | if (page_is_ram(pfn) && |
342 | PageReserved(nid_page_nr(nid, i))) | ||
345 | reservedpages++; | 343 | reservedpages++; |
346 | } | 344 | } |
347 | 345 | ||
@@ -373,18 +371,18 @@ show_mem(void) | |||
373 | show_free_areas(); | 371 | show_free_areas(); |
374 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | 372 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); |
375 | for_each_online_node(nid) { | 373 | for_each_online_node(nid) { |
376 | struct page * lmem_map = node_mem_map(nid); | ||
377 | i = node_spanned_pages(nid); | 374 | i = node_spanned_pages(nid); |
378 | while (i-- > 0) { | 375 | while (i-- > 0) { |
376 | struct page *page = nid_page_nr(nid, i); | ||
379 | total++; | 377 | total++; |
380 | if (PageReserved(lmem_map+i)) | 378 | if (PageReserved(page)) |
381 | reserved++; | 379 | reserved++; |
382 | else if (PageSwapCache(lmem_map+i)) | 380 | else if (PageSwapCache(page)) |
383 | cached++; | 381 | cached++; |
384 | else if (!page_count(lmem_map+i)) | 382 | else if (!page_count(page)) |
385 | free++; | 383 | free++; |
386 | else | 384 | else |
387 | shared += page_count(lmem_map + i) - 1; | 385 | shared += page_count(page) - 1; |
388 | } | 386 | } |
389 | } | 387 | } |
390 | printk("%ld pages of RAM\n",total); | 388 | printk("%ld pages of RAM\n",total); |
diff --git a/arch/i386/mm/pgtable.c b/arch/i386/mm/pgtable.c index dd81479ff88a..80c84cdf22ef 100644 --- a/arch/i386/mm/pgtable.c +++ b/arch/i386/mm/pgtable.c | |||
@@ -36,7 +36,7 @@ void show_mem(void) | |||
36 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | 36 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); |
37 | for_each_pgdat(pgdat) { | 37 | for_each_pgdat(pgdat) { |
38 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { | 38 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { |
39 | page = pgdat->node_mem_map + i; | 39 | page = pgdat_page_nr(pgdat, i); |
40 | total++; | 40 | total++; |
41 | if (PageHighMem(page)) | 41 | if (PageHighMem(page)) |
42 | highmem++; | 42 | highmem++; |
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index c00710929390..f3fd528ead3b 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
@@ -560,14 +560,15 @@ void show_mem(void) | |||
560 | int shared = 0, cached = 0, reserved = 0; | 560 | int shared = 0, cached = 0, reserved = 0; |
561 | printk("Node ID: %d\n", pgdat->node_id); | 561 | printk("Node ID: %d\n", pgdat->node_id); |
562 | for(i = 0; i < pgdat->node_spanned_pages; i++) { | 562 | for(i = 0; i < pgdat->node_spanned_pages; i++) { |
563 | struct page *page = pgdat_page_nr(pgdat, i); | ||
563 | if (!ia64_pfn_valid(pgdat->node_start_pfn+i)) | 564 | if (!ia64_pfn_valid(pgdat->node_start_pfn+i)) |
564 | continue; | 565 | continue; |
565 | if (PageReserved(pgdat->node_mem_map+i)) | 566 | if (PageReserved(page)) |
566 | reserved++; | 567 | reserved++; |
567 | else if (PageSwapCache(pgdat->node_mem_map+i)) | 568 | else if (PageSwapCache(page)) |
568 | cached++; | 569 | cached++; |
569 | else if (page_count(pgdat->node_mem_map+i)) | 570 | else if (page_count(page)) |
570 | shared += page_count(pgdat->node_mem_map+i)-1; | 571 | shared += page_count(page)-1; |
571 | } | 572 | } |
572 | total_present += present; | 573 | total_present += present; |
573 | total_reserved += reserved; | 574 | total_reserved += reserved; |
diff --git a/arch/m32r/mm/init.c b/arch/m32r/mm/init.c index bc423d838fb8..d9a40b1fe8ba 100644 --- a/arch/m32r/mm/init.c +++ b/arch/m32r/mm/init.c | |||
@@ -49,7 +49,7 @@ void show_mem(void) | |||
49 | printk("Free swap: %6ldkB\n",nr_swap_pages<<(PAGE_SHIFT-10)); | 49 | printk("Free swap: %6ldkB\n",nr_swap_pages<<(PAGE_SHIFT-10)); |
50 | for_each_pgdat(pgdat) { | 50 | for_each_pgdat(pgdat) { |
51 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { | 51 | for (i = 0; i < pgdat->node_spanned_pages; ++i) { |
52 | page = pgdat->node_mem_map + i; | 52 | page = pgdat_page_nr(pgdat, i); |
53 | total++; | 53 | total++; |
54 | if (PageHighMem(page)) | 54 | if (PageHighMem(page)) |
55 | highmem++; | 55 | highmem++; |
@@ -152,7 +152,7 @@ int __init reservedpages_count(void) | |||
152 | reservedpages = 0; | 152 | reservedpages = 0; |
153 | for_each_online_node(nid) | 153 | for_each_online_node(nid) |
154 | for (i = 0 ; i < MAX_LOW_PFN(nid) - START_PFN(nid) ; i++) | 154 | for (i = 0 ; i < MAX_LOW_PFN(nid) - START_PFN(nid) ; i++) |
155 | if (PageReserved(NODE_DATA(nid)->node_mem_map + i)) | 155 | if (PageReserved(nid_page_nr(nid, i))) |
156 | reservedpages++; | 156 | reservedpages++; |
157 | 157 | ||
158 | return reservedpages; | 158 | return reservedpages; |
diff --git a/arch/mips/sgi-ip27/ip27-memory.c b/arch/mips/sgi-ip27/ip27-memory.c index 0a44a98d7adc..a160d04f7dbe 100644 --- a/arch/mips/sgi-ip27/ip27-memory.c +++ b/arch/mips/sgi-ip27/ip27-memory.c | |||
@@ -549,9 +549,8 @@ void __init mem_init(void) | |||
549 | */ | 549 | */ |
550 | numslots = node_getlastslot(node); | 550 | numslots = node_getlastslot(node); |
551 | for (slot = 1; slot <= numslots; slot++) { | 551 | for (slot = 1; slot <= numslots; slot++) { |
552 | p = NODE_DATA(node)->node_mem_map + | 552 | p = nid_page_nr(node, slot_getbasepfn(node, slot) - |
553 | (slot_getbasepfn(node, slot) - | 553 | slot_getbasepfn(node, 0)); |
554 | slot_getbasepfn(node, 0)); | ||
555 | 554 | ||
556 | /* | 555 | /* |
557 | * Free valid memory in current slot. | 556 | * Free valid memory in current slot. |
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index cac37589e35c..2886ad70db48 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -506,7 +506,7 @@ void show_mem(void) | |||
506 | for (j = node_start_pfn(i); j < node_end_pfn(i); j++) { | 506 | for (j = node_start_pfn(i); j < node_end_pfn(i); j++) { |
507 | struct page *p; | 507 | struct page *p; |
508 | 508 | ||
509 | p = node_mem_map(i) + j - node_start_pfn(i); | 509 | p = nid_page_nr(i, j) - node_start_pfn(i); |
510 | 510 | ||
511 | total++; | 511 | total++; |
512 | if (PageReserved(p)) | 512 | if (PageReserved(p)) |
diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c index 6fa1e6490b57..29dbe084c21f 100644 --- a/arch/ppc64/mm/init.c +++ b/arch/ppc64/mm/init.c | |||
@@ -98,7 +98,7 @@ void show_mem(void) | |||
98 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | 98 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); |
99 | for_each_pgdat(pgdat) { | 99 | for_each_pgdat(pgdat) { |
100 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | 100 | for (i = 0; i < pgdat->node_spanned_pages; i++) { |
101 | page = pgdat->node_mem_map + i; | 101 | page = pgdat_page_nr(pgdat, i); |
102 | total++; | 102 | total++; |
103 | if (PageReserved(page)) | 103 | if (PageReserved(page)) |
104 | reserved++; | 104 | reserved++; |
@@ -654,7 +654,7 @@ void __init mem_init(void) | |||
654 | 654 | ||
655 | for_each_pgdat(pgdat) { | 655 | for_each_pgdat(pgdat) { |
656 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | 656 | for (i = 0; i < pgdat->node_spanned_pages; i++) { |
657 | page = pgdat->node_mem_map + i; | 657 | page = pgdat_page_nr(pgdat, i); |
658 | if (PageReserved(page)) | 658 | if (PageReserved(page)) |
659 | reservedpages++; | 659 | reservedpages++; |
660 | } | 660 | } |
diff --git a/include/asm-alpha/mmzone.h b/include/asm-alpha/mmzone.h index 726c150dcbe4..a011ef4cf3d3 100644 --- a/include/asm-alpha/mmzone.h +++ b/include/asm-alpha/mmzone.h | |||
@@ -57,7 +57,6 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n) | |||
57 | * Given a kernel address, find the home node of the underlying memory. | 57 | * Given a kernel address, find the home node of the underlying memory. |
58 | */ | 58 | */ |
59 | #define kvaddr_to_nid(kaddr) pa_to_nid(__pa(kaddr)) | 59 | #define kvaddr_to_nid(kaddr) pa_to_nid(__pa(kaddr)) |
60 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
61 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 60 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
62 | 61 | ||
63 | #define local_mapnr(kvaddr) \ | 62 | #define local_mapnr(kvaddr) \ |
@@ -108,7 +107,7 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n) | |||
108 | #define pfn_to_page(pfn) \ | 107 | #define pfn_to_page(pfn) \ |
109 | ({ \ | 108 | ({ \ |
110 | unsigned long kaddr = (unsigned long)__va((pfn) << PAGE_SHIFT); \ | 109 | unsigned long kaddr = (unsigned long)__va((pfn) << PAGE_SHIFT); \ |
111 | (node_mem_map(kvaddr_to_nid(kaddr)) + local_mapnr(kaddr)); \ | 110 | (NODE_DATA(kvaddr_to_nid(kaddr))->node_mem_map + local_mapnr(kaddr)); \ |
112 | }) | 111 | }) |
113 | 112 | ||
114 | #define page_to_pfn(page) \ | 113 | #define page_to_pfn(page) \ |
diff --git a/include/asm-i386/mmzone.h b/include/asm-i386/mmzone.h index 13830ae67cac..9cec191f462c 100644 --- a/include/asm-i386/mmzone.h +++ b/include/asm-i386/mmzone.h | |||
@@ -79,7 +79,6 @@ static inline int pfn_to_nid(unsigned long pfn) | |||
79 | */ | 79 | */ |
80 | #define kvaddr_to_nid(kaddr) pfn_to_nid(__pa(kaddr) >> PAGE_SHIFT) | 80 | #define kvaddr_to_nid(kaddr) pfn_to_nid(__pa(kaddr) >> PAGE_SHIFT) |
81 | 81 | ||
82 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
83 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 82 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
84 | #define node_end_pfn(nid) \ | 83 | #define node_end_pfn(nid) \ |
85 | ({ \ | 84 | ({ \ |
@@ -100,7 +99,7 @@ static inline int pfn_to_nid(unsigned long pfn) | |||
100 | ({ \ | 99 | ({ \ |
101 | unsigned long __pfn = pfn; \ | 100 | unsigned long __pfn = pfn; \ |
102 | int __node = pfn_to_nid(__pfn); \ | 101 | int __node = pfn_to_nid(__pfn); \ |
103 | &node_mem_map(__node)[node_localnr(__pfn,__node)]; \ | 102 | &NODE_DATA(__node)->node_mem_map[node_localnr(__pfn,__node)]; \ |
104 | }) | 103 | }) |
105 | 104 | ||
106 | #define page_to_pfn(pg) \ | 105 | #define page_to_pfn(pg) \ |
diff --git a/include/asm-m32r/mmzone.h b/include/asm-m32r/mmzone.h index ebf0228fec42..d58878ec899e 100644 --- a/include/asm-m32r/mmzone.h +++ b/include/asm-m32r/mmzone.h | |||
@@ -14,7 +14,6 @@ extern struct pglist_data *node_data[]; | |||
14 | #define NODE_DATA(nid) (node_data[nid]) | 14 | #define NODE_DATA(nid) (node_data[nid]) |
15 | 15 | ||
16 | #define node_localnr(pfn, nid) ((pfn) - NODE_DATA(nid)->node_start_pfn) | 16 | #define node_localnr(pfn, nid) ((pfn) - NODE_DATA(nid)->node_start_pfn) |
17 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
18 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 17 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
19 | #define node_end_pfn(nid) \ | 18 | #define node_end_pfn(nid) \ |
20 | ({ \ | 19 | ({ \ |
@@ -32,7 +31,7 @@ extern struct pglist_data *node_data[]; | |||
32 | ({ \ | 31 | ({ \ |
33 | unsigned long __pfn = pfn; \ | 32 | unsigned long __pfn = pfn; \ |
34 | int __node = pfn_to_nid(__pfn); \ | 33 | int __node = pfn_to_nid(__pfn); \ |
35 | &node_mem_map(__node)[node_localnr(__pfn,__node)]; \ | 34 | &NODE_DATA(__node)->node_mem_map[node_localnr(__pfn,__node)]; \ |
36 | }) | 35 | }) |
37 | 36 | ||
38 | #define page_to_pfn(pg) \ | 37 | #define page_to_pfn(pg) \ |
diff --git a/include/asm-parisc/mmzone.h b/include/asm-parisc/mmzone.h index 928bf50c4693..595d3dce120a 100644 --- a/include/asm-parisc/mmzone.h +++ b/include/asm-parisc/mmzone.h | |||
@@ -19,7 +19,6 @@ extern struct node_map_data node_data[]; | |||
19 | */ | 19 | */ |
20 | #define kvaddr_to_nid(kaddr) pfn_to_nid(__pa(kaddr) >> PAGE_SHIFT) | 20 | #define kvaddr_to_nid(kaddr) pfn_to_nid(__pa(kaddr) >> PAGE_SHIFT) |
21 | 21 | ||
22 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
23 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 22 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
24 | #define node_end_pfn(nid) \ | 23 | #define node_end_pfn(nid) \ |
25 | ({ \ | 24 | ({ \ |
@@ -38,7 +37,7 @@ extern struct node_map_data node_data[]; | |||
38 | ({ \ | 37 | ({ \ |
39 | unsigned long __pfn = (pfn); \ | 38 | unsigned long __pfn = (pfn); \ |
40 | int __node = pfn_to_nid(__pfn); \ | 39 | int __node = pfn_to_nid(__pfn); \ |
41 | &node_mem_map(__node)[node_localnr(__pfn,__node)]; \ | 40 | &NODE_DATA(__node)->node_mem_map[node_localnr(__pfn,__node)]; \ |
42 | }) | 41 | }) |
43 | 42 | ||
44 | #define page_to_pfn(pg) \ | 43 | #define page_to_pfn(pg) \ |
diff --git a/include/asm-ppc64/mmzone.h b/include/asm-ppc64/mmzone.h index 0619a41a3c9d..cbfc5ecfe875 100644 --- a/include/asm-ppc64/mmzone.h +++ b/include/asm-ppc64/mmzone.h | |||
@@ -65,7 +65,6 @@ static inline int pa_to_nid(unsigned long pa) | |||
65 | */ | 65 | */ |
66 | #define kvaddr_to_nid(kaddr) pa_to_nid(__pa(kaddr)) | 66 | #define kvaddr_to_nid(kaddr) pa_to_nid(__pa(kaddr)) |
67 | 67 | ||
68 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
69 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 68 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
70 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn) | 69 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn) |
71 | 70 | ||
@@ -76,7 +75,7 @@ static inline int pa_to_nid(unsigned long pa) | |||
76 | #define discontigmem_pfn_to_page(pfn) \ | 75 | #define discontigmem_pfn_to_page(pfn) \ |
77 | ({ \ | 76 | ({ \ |
78 | unsigned long __tmp = pfn; \ | 77 | unsigned long __tmp = pfn; \ |
79 | (node_mem_map(pfn_to_nid(__tmp)) + \ | 78 | (NODE_DATA(pfn_to_nid(__tmp))->node_mem_map + \ |
80 | node_localnr(__tmp, pfn_to_nid(__tmp))); \ | 79 | node_localnr(__tmp, pfn_to_nid(__tmp))); \ |
81 | }) | 80 | }) |
82 | 81 | ||
diff --git a/include/asm-x86_64/mmzone.h b/include/asm-x86_64/mmzone.h index d95b7c240831..ca4fc3fe0dee 100644 --- a/include/asm-x86_64/mmzone.h +++ b/include/asm-x86_64/mmzone.h | |||
@@ -35,9 +35,6 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr) | |||
35 | #define kvaddr_to_nid(kaddr) phys_to_nid(__pa(kaddr)) | 35 | #define kvaddr_to_nid(kaddr) phys_to_nid(__pa(kaddr)) |
36 | #define NODE_DATA(nid) (node_data[nid]) | 36 | #define NODE_DATA(nid) (node_data[nid]) |
37 | 37 | ||
38 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
39 | |||
40 | #define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map) | ||
41 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | 38 | #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) |
42 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \ | 39 | #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \ |
43 | NODE_DATA(nid)->node_spanned_pages) | 40 | NODE_DATA(nid)->node_spanned_pages) |
@@ -50,7 +47,7 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr) | |||
50 | (2.4 used to). */ | 47 | (2.4 used to). */ |
51 | #define pfn_to_page(pfn) ({ \ | 48 | #define pfn_to_page(pfn) ({ \ |
52 | int nid = phys_to_nid(((unsigned long)(pfn)) << PAGE_SHIFT); \ | 49 | int nid = phys_to_nid(((unsigned long)(pfn)) << PAGE_SHIFT); \ |
53 | ((pfn) - node_start_pfn(nid)) + node_mem_map(nid); \ | 50 | ((pfn) - node_start_pfn(nid)) + NODE_DATA(nid)->node_mem_map; \ |
54 | }) | 51 | }) |
55 | 52 | ||
56 | #define page_to_pfn(page) \ | 53 | #define page_to_pfn(page) \ |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 4733d35d8223..b79633d3a97b 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -284,6 +284,8 @@ typedef struct pglist_data { | |||
284 | 284 | ||
285 | #define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages) | 285 | #define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages) |
286 | #define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages) | 286 | #define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages) |
287 | #define pgdat_page_nr(pgdat, pagenr) ((pgdat)->node_mem_map + (pagenr)) | ||
288 | #define nid_page_nr(nid, pagenr) pgdat_page_nr(NODE_DATA(nid),(pagenr)) | ||
287 | 289 | ||
288 | extern struct pglist_data *pgdat_list; | 290 | extern struct pglist_data *pgdat_list; |
289 | 291 | ||