diff options
author | Dave Hansen <dave@sr71.net> | 2014-07-31 08:40:59 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-07-31 08:48:51 -0700 |
commit | d17d8f9dedb9dd76fd540a5c497101529d9eb25a (patch) | |
tree | 9419fa5866856e22eb1fc26202085904556f346c /include/linux/mm_types.h | |
parent | a23421f111bb256cdbf23dcfe15f35567ab88e98 (diff) | |
download | op-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 'include/linux/mm_types.h')
-rw-r--r-- | include/linux/mm_types.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 96c5750..796deac 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -516,4 +516,12 @@ struct vm_special_mapping struct page **pages; }; +enum tlb_flush_reason { + TLB_FLUSH_ON_TASK_SWITCH, + TLB_REMOTE_SHOOTDOWN, + TLB_LOCAL_SHOOTDOWN, + TLB_LOCAL_MM_SHOOTDOWN, + NR_TLB_FLUSH_REASONS, +}; + #endif /* _LINUX_MM_TYPES_H */ |