From a9d7b0d2751bea20468ed6ac83f5f1e05be87e6c Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Mon, 25 Sep 2006 23:31:55 -0700 Subject: [PATCH] --- yaml --- r: 35631 b: refs/heads/master c: 4415cc8df630b05d3a54267d5f3e5c0b63a4ec05 h: refs/heads/master i: 35629: e077e93b7a5147a77193bf0904de1a163e9e8dfc 35627: e68da9305b2dcfe8456be1ed20c0ccd3307a750c 35623: 6e288db145bf5360301a9678ac1cfb7d0e0e7230 35615: f300574f30f374787ad2dbb39d4f1968ccb9b3de v: v3 --- [refs] | 2 +- trunk/mm/hugetlb.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 315ec493e0c3..8de82d6390a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5a291b98b2116d669449885abef3000f747504b3 +refs/heads/master: 4415cc8df630b05d3a54267d5f3e5c0b63a4ec05 diff --git a/trunk/mm/hugetlb.c b/trunk/mm/hugetlb.c index df499973255f..3aceadce1a76 100644 --- a/trunk/mm/hugetlb.c +++ b/trunk/mm/hugetlb.c @@ -177,7 +177,7 @@ static void update_and_free_page(struct page *page) { int i; nr_huge_pages--; - nr_huge_pages_node[page_zone(page)->zone_pgdat->node_id]--; + nr_huge_pages_node[page_to_nid(page)]--; for (i = 0; i < (HPAGE_SIZE / PAGE_SIZE); i++) { page[i].flags &= ~(1 << PG_locked | 1 << PG_error | 1 << PG_referenced | 1 << PG_dirty | 1 << PG_active | 1 << PG_reserved | @@ -191,7 +191,8 @@ static void update_and_free_page(struct page *page) #ifdef CONFIG_HIGHMEM static void try_to_free_low(unsigned long count) { - int i, nid; + int i; + for (i = 0; i < MAX_NUMNODES; ++i) { struct page *page, *next; list_for_each_entry_safe(page, next, &hugepage_freelists[i], lru) { @@ -199,9 +200,8 @@ static void try_to_free_low(unsigned long count) continue; list_del(&page->lru); update_and_free_page(page); - nid = page_zone(page)->zone_pgdat->node_id; free_huge_pages--; - free_huge_pages_node[nid]--; + free_huge_pages_node[page_to_nid(page)]--; if (count >= nr_huge_pages) return; }