Messages in this thread | | | From | Takao Indoh <> | Subject | [PATCH v2 0/4] x86: Intel Processor Trace Logger | Date | Tue, 8 Sep 2015 14:49:20 +0900 |
| |
Hi all,
These patch series provide logging feature for Intel Processor Trace (Intel PT).
Intel PT is a new feature of Intel CPU "Broadwell", it captures information about program execution flow. Here is a article about Intel PT. https://software.intel.com/en-us/blogs/2013/09/18/processor-tracing
Once Intel PT is enabled, the events which change program flow, like branch instructions, exceptions, interruptions, traps and so on are logged in the memory. This is very useful for debugging because we can know the detailed behavior of software.
This patch creates log buffer for Intel PT and enable logging at boot time. When kernel panic occurs, we can get this log buffer from crashdump file by kdump, and reconstruct the flow that led to the panic.
changelog: v2: - Reimplement using perf_event_create_kernel_counter
v1: https://lkml.org/lkml/2015/7/29/6
Takao Indoh (4): perf/trace: Add function to find event type by name perf: Add function to enable perf events in kernel with ring buffer perf/x86/intel/pt: Add Intel PT logger x86: Stop Intel PT and save its registers when panic occurs
arch/x86/Kconfig | 16 +++ arch/x86/include/asm/intel_pt_log.h | 13 ++ arch/x86/kernel/cpu/Makefile | 2 + arch/x86/kernel/cpu/intel_pt_log.c | 178 +++++++++++++++++++++++++++++ arch/x86/kernel/cpu/perf_event_intel_pt.c | 6 + arch/x86/kernel/crash.c | 9 ++ include/linux/perf_event.h | 10 ++ include/linux/trace_events.h | 2 + kernel/events/core.c | 70 +++++++++++- kernel/trace/trace_event_perf.c | 22 ++++ 10 files changed, 323 insertions(+), 5 deletions(-) create mode 100644 arch/x86/include/asm/intel_pt_log.h create mode 100644 arch/x86/kernel/cpu/intel_pt_log.c
| |