summaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/init.c
diff options
context:
space:
mode:
authorDave Hansen <dave@sr71.net>2014-07-31 08:40:59 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2014-07-31 08:48:51 -0700
commitd17d8f9dedb9dd76fd540a5c497101529d9eb25a (patch)
tree9419fa5866856e22eb1fc26202085904556f346c /arch/x86/mm/init.c
parenta23421f111bb256cdbf23dcfe15f35567ab88e98 (diff)
downloadop-kernel-dev-d17d8f9dedb9dd76fd540a5c497101529d9eb25a.zip
op-kernel-dev-d17d8f9dedb9dd76fd540a5c497101529d9eb25a.tar.gz
x86/mm: Add tracepoints for TLB flushes
We don't have any good way to figure out what kinds of flushes are being attempted. Right now, we can try to use the vm counters, but those only tell us what we actually did with the hardware (one-by-one vs full) and don't tell us what was actually _requested_. This allows us to select out "interesting" TLB flushes that we might want to optimize (like the ranged ones) and ignore the ones that we have very little control over (the ones at context switch). Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Link: http://lkml.kernel.org/r/20140731154059.4C96CBA5@viggo.jf.intel.com Acked-by: Rik van Riel <riel@redhat.com> Cc: Mel Gorman <mgorman@suse.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/mm/init.c')
-rw-r--r--arch/x86/mm/init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index f971306..66dba36 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -18,6 +18,13 @@
#include <asm/dma.h> /* for MAX_DMA_PFN */
#include <asm/microcode.h>
+/*
+ * We need to define the tracepoints somewhere, and tlb.c
+ * is only compied when SMP=y.
+ */
+#define CREATE_TRACE_POINTS
+#include <trace/events/tlb.h>
+
#include "mm_internal.h"
static unsigned long __initdata pgt_buf_start;
OpenPOWER on IntegriCloud