diff options
Diffstat (limited to 'mm/vmstat.c')
-rw-r--r-- | mm/vmstat.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/mm/vmstat.c b/mm/vmstat.c index 7c7286e9506d..ec6035eda933 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -322,6 +322,7 @@ void refresh_cpu_vm_stats(int cpu) | |||
322 | p->expire = 3; | 322 | p->expire = 3; |
323 | #endif | 323 | #endif |
324 | } | 324 | } |
325 | cond_resched(); | ||
325 | #ifdef CONFIG_NUMA | 326 | #ifdef CONFIG_NUMA |
326 | /* | 327 | /* |
327 | * Deal with draining the remote pageset of this | 328 | * Deal with draining the remote pageset of this |
@@ -364,13 +365,13 @@ void refresh_cpu_vm_stats(int cpu) | |||
364 | * | 365 | * |
365 | * Must be called with interrupts disabled. | 366 | * Must be called with interrupts disabled. |
366 | */ | 367 | */ |
367 | void zone_statistics(struct zonelist *zonelist, struct zone *z) | 368 | void zone_statistics(struct zone *preferred_zone, struct zone *z) |
368 | { | 369 | { |
369 | if (z->zone_pgdat == zonelist->zones[0]->zone_pgdat) { | 370 | if (z->zone_pgdat == preferred_zone->zone_pgdat) { |
370 | __inc_zone_state(z, NUMA_HIT); | 371 | __inc_zone_state(z, NUMA_HIT); |
371 | } else { | 372 | } else { |
372 | __inc_zone_state(z, NUMA_MISS); | 373 | __inc_zone_state(z, NUMA_MISS); |
373 | __inc_zone_state(zonelist->zones[0], NUMA_FOREIGN); | 374 | __inc_zone_state(preferred_zone, NUMA_FOREIGN); |
374 | } | 375 | } |
375 | if (z->node == numa_node_id()) | 376 | if (z->node == numa_node_id()) |
376 | __inc_zone_state(z, NUMA_LOCAL); | 377 | __inc_zone_state(z, NUMA_LOCAL); |
@@ -645,6 +646,10 @@ static const char * const vmstat_text[] = { | |||
645 | "allocstall", | 646 | "allocstall", |
646 | 647 | ||
647 | "pgrotated", | 648 | "pgrotated", |
649 | #ifdef CONFIG_HUGETLB_PAGE | ||
650 | "htlb_buddy_alloc_success", | ||
651 | "htlb_buddy_alloc_fail", | ||
652 | #endif | ||
648 | #endif | 653 | #endif |
649 | }; | 654 | }; |
650 | 655 | ||