use page_to_nid
Subsystems (3)
PATCH 1/1 use page_to_nid
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 <[email protected]>
diffstat 100-use_page_to_nid
--- hugetlb.c | 2 +- mempolicy.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
mm/hugetlb.c +1 -1
@@ -21,7 +21,7 @@ static spinlock_t hugetlb_lock = SPIN_LOstatic 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]++;
mm/mempolicy.c +1 -1
@@ -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;