summaryrefslogtreecommitdiff
path: root/mm/vmstat.c
diff options
context:
space:
mode:
authorDave Hansen <dave@sr71.net>2013-09-11 14:20:24 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-11 15:57:09 -0700
commit6df46865ff8715932e7d42e52cac17e8461758cb (patch)
tree7c7e1d43b22a2bec2d4a6fce95ddc3cbd481aa1e /mm/vmstat.c
parent9824cf9753ecbe8f5b47aa9b2f218207defea211 (diff)
downloadlwn-6df46865ff8715932e7d42e52cac17e8461758cb.tar.gz
lwn-6df46865ff8715932e7d42e52cac17e8461758cb.zip
mm: vmstats: track TLB flush stats on UP too
The previous patch doing vmstats for TLB flushes ("mm: vmstats: tlb flush counters") effectively missed UP since arch/x86/mm/tlb.c is only compiled for SMP. UP systems do not do remote TLB flushes, so compile those counters out on UP. arch/x86/kernel/cpu/mtrr/generic.c calls __flush_tlb() directly. This is probably an optimization since both the mtrr code and __flush_tlb() write cr4. It would probably be safe to make that a flush_tlb_all() (and then get these statistics), but the mtrr code is ancient and I'm hesitant to touch it other than to just stick in the counters. [akpm@linux-foundation.org: tweak comments] Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmstat.c')
-rw-r--r--mm/vmstat.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 00382c53f582..ca06e9653827 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -817,11 +817,12 @@ const char * const vmstat_text[] = {
"thp_zero_page_alloc",
"thp_zero_page_alloc_failed",
#endif
+#ifdef CONFIG_SMP
"nr_tlb_remote_flush",
"nr_tlb_remote_flush_received",
+#endif
"nr_tlb_local_flush_all",
"nr_tlb_local_flush_one",
- "nr_tlb_local_flush_one_kernel",
#endif /* CONFIG_VM_EVENTS_COUNTERS */
};