[PATCH] use page_to_nid

From: Andy Whitcroft
Date: Thu Aug 26 2004 - 05:19:06 EST


There are a couple of places where we seem to go round the houses
to get the numa node id from a page. We have a macro for this
so it seems sensible to use that.

-apw

=== 8< ===
Both lookup_node and enqueue_huge_page use page_zone() to locate
the zone, that to locate node pgdat_t and that to get the node_id.
Its more efficient to use page_to_nid() which gets the nid from the
page flags, especially if we are not using the zone for anything
else it. Change these to use page_to_nid().

Revision: $Rev: 494 $

Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxx>

diffstat 100-use_page_to_nid
---
hugetlb.c | 2 +-
mempolicy.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff -X /home/apw/brief/lib/vdiff.excl -rupN reference/mm/hugetlb.c current/mm/hugetlb.c
--- reference/mm/hugetlb.c 2004-08-06 10:00:18.000000000 +0100
+++ current/mm/hugetlb.c 2004-08-06 13:39:26.000000000 +0100
@@ -21,7 +21,7 @@ static spinlock_t hugetlb_lock = SPIN_LO

static void enqueue_huge_page(struct page *page)
{
- int nid = page_zone(page)->zone_pgdat->node_id;
+ int nid = page_to_nid(page);
list_add(&page->lru, &hugepage_freelists[nid]);
free_huge_pages++;
free_huge_pages_node[nid]++;
diff -X /home/apw/brief/lib/vdiff.excl -rupN reference/mm/mempolicy.c current/mm/mempolicy.c
--- reference/mm/mempolicy.c 2004-08-06 10:00:18.000000000 +0100
+++ current/mm/mempolicy.c 2004-08-06 13:33:36.000000000 +0100
@@ -438,7 +438,7 @@ static int lookup_node(struct mm_struct

err = get_user_pages(current, mm, addr & PAGE_MASK, 1, 0, 0, &p, NULL);
if (err >= 0) {
- err = page_zone(p)->zone_pgdat->node_id;
+ err = page_to_nid(p);
put_page(p);
}
return err;
-
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/