diff options
author | Dave Hansen <dave@sr71.net> | 2013-09-11 17:20:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-11 18:57:09 -0400 |
commit | 6df46865ff8715932e7d42e52cac17e8461758cb (patch) | |
tree | 7c7e1d43b22a2bec2d4a6fce95ddc3cbd481aa1e /include/linux/vm_event_item.h | |
parent | 9824cf9753ecbe8f5b47aa9b2f218207defea211 (diff) |
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 'include/linux/vm_event_item.h')
-rw-r--r-- | include/linux/vm_event_item.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index dc2cdf07ac14..1855f0a22add 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h | |||
@@ -70,11 +70,12 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
70 | THP_ZERO_PAGE_ALLOC, | 70 | THP_ZERO_PAGE_ALLOC, |
71 | THP_ZERO_PAGE_ALLOC_FAILED, | 71 | THP_ZERO_PAGE_ALLOC_FAILED, |
72 | #endif | 72 | #endif |
73 | #ifdef CONFIG_SMP | ||
73 | NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */ | 74 | NR_TLB_REMOTE_FLUSH, /* cpu tried to flush others' tlbs */ |
74 | NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */ | 75 | NR_TLB_REMOTE_FLUSH_RECEIVED,/* cpu received ipi for flush */ |
76 | #endif | ||
75 | NR_TLB_LOCAL_FLUSH_ALL, | 77 | NR_TLB_LOCAL_FLUSH_ALL, |
76 | NR_TLB_LOCAL_FLUSH_ONE, | 78 | NR_TLB_LOCAL_FLUSH_ONE, |
77 | NR_TLB_LOCAL_FLUSH_ONE_KERNEL, | ||
78 | NR_VM_EVENT_ITEMS | 79 | NR_VM_EVENT_ITEMS |
79 | }; | 80 | }; |
80 | 81 | ||