From c409ad50e3e6839293a20914af6ee437b46aff39 Mon Sep 17 00:00:00 2001 From: Adam Litke Date: Mon, 28 Apr 2008 02:13:06 -0700 Subject: [PATCH] --- yaml --- r: 94029 b: refs/heads/master c: 3b1163006332302117b1b2acf226d4014ff46525 h: refs/heads/master i: 94027: 6cc2ad381c64deec9371e2ab0390148e7b3f8d22 v: v3 --- [refs] | 2 +- trunk/include/linux/vmstat.h | 4 ++++ trunk/mm/hugetlb.c | 7 +++++++ trunk/mm/vmstat.c | 4 ++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 8bf73e3d1ad4..01b9712e43cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 122c7a59055c77434118d7dd4dff4b625d4a2c15 +refs/heads/master: 3b1163006332302117b1b2acf226d4014ff46525 diff --git a/trunk/include/linux/vmstat.h b/trunk/include/linux/vmstat.h index e726b6d46495..e83b69346d23 100644 --- a/trunk/include/linux/vmstat.h +++ b/trunk/include/linux/vmstat.h @@ -25,6 +25,7 @@ #define HIGHMEM_ZONE(xx) #endif + #define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, @@ -37,6 +38,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, FOR_ALL_ZONES(PGSCAN_DIRECT), PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL, PAGEOUTRUN, ALLOCSTALL, PGROTATED, +#ifdef CONFIG_HUGETLB_PAGE + HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, +#endif NR_VM_EVENT_ITEMS }; diff --git a/trunk/mm/hugetlb.c b/trunk/mm/hugetlb.c index 93ea46a0fba4..8deae4eb9696 100644 --- a/trunk/mm/hugetlb.c +++ b/trunk/mm/hugetlb.c @@ -242,6 +242,11 @@ static int alloc_fresh_huge_page(void) hugetlb_next_nid = next_nid; } while (!page && hugetlb_next_nid != start_nid); + if (ret) + count_vm_event(HTLB_BUDDY_PGALLOC); + else + count_vm_event(HTLB_BUDDY_PGALLOC_FAIL); + return ret; } @@ -302,9 +307,11 @@ static struct page *alloc_buddy_huge_page(struct vm_area_struct *vma, */ nr_huge_pages_node[nid]++; surplus_huge_pages_node[nid]++; + __count_vm_event(HTLB_BUDDY_PGALLOC); } else { nr_huge_pages--; surplus_huge_pages--; + __count_vm_event(HTLB_BUDDY_PGALLOC_FAIL); } spin_unlock(&hugetlb_lock); diff --git a/trunk/mm/vmstat.c b/trunk/mm/vmstat.c index 879bcc0a1d4c..4c21670f8d91 100644 --- a/trunk/mm/vmstat.c +++ b/trunk/mm/vmstat.c @@ -645,6 +645,10 @@ static const char * const vmstat_text[] = { "allocstall", "pgrotated", +#ifdef CONFIG_HUGETLB_PAGE + "htlb_buddy_alloc_success", + "htlb_buddy_alloc_fail", +#endif #endif };