summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/hardirq.h
diff options
context:
space:
mode:
authorTomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>2012-09-26 11:11:28 +0900
committerH. Peter Anvin <hpa@linux.intel.com>2012-09-27 22:52:34 -0700
commitfd0f5869724ff6195c6e7f12f8287c66a132e0ba (patch)
treec6cab9cd8acd8ad644e53bea2aa2a439b53688a9 /arch/x86/include/asm/hardirq.h
parentd4c9dbc61fe0ca042b835c6f234af12fa5f18310 (diff)
downloadlinux-0-day-fd0f5869724ff6195c6e7f12f8287c66a132e0ba.tar.gz
linux-0-day-fd0f5869724ff6195c6e7f12f8287c66a132e0ba.tar.xz
x86: Distinguish TLB shootdown interrupts from other functions call interrupts
As TLB shootdown requests to other CPU cores are now using function call interrupts, TLB shootdowns entry in /proc/interrupts is always shown as 0. This behavior change was introduced by commit 52aec3308db8 ("x86/tlb: replace INVALIDATE_TLB_VECTOR by CALL_FUNCTION_VECTOR"). This patch reverts TLB shootdowns entry in /proc/interrupts to count TLB shootdowns separately from the other function call interrupts. Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com> Link: http://lkml.kernel.org/r/20120926021128.22212.20440.stgit@hpxw Acked-by: Alex Shi <alex.shi@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include/asm/hardirq.h')
-rw-r--r--arch/x86/include/asm/hardirq.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/hardirq.h b/arch/x86/include/asm/hardirq.h
index d3895dbf4ddb5..81f04cee5f741 100644
--- a/arch/x86/include/asm/hardirq.h
+++ b/arch/x86/include/asm/hardirq.h
@@ -18,6 +18,10 @@ typedef struct {
#ifdef CONFIG_SMP
unsigned int irq_resched_count;
unsigned int irq_call_count;
+ /*
+ * irq_tlb_count is double-counted in irq_call_count, so it must be
+ * subtracted from irq_call_count when displaying irq_call_count
+ */
unsigned int irq_tlb_count;
#endif
#ifdef CONFIG_X86_THERMAL_VECTOR