Commit c6334593 authored by Markus Metzger's avatar Markus Metzger Committed by Ingo Molnar

x86, ptrace: overflow signal API

Establish the user API for sending a user-defined signal to the traced task on a BTS buffer overflow.

This should complete the user API for the BTS ptrace extension.
The patches so far implement wrap-around overflow handling as is needed for debugging.

The remaining open is another overflow handling mechanism that sends a signal to the traced task on a buffer overflow.
This will take some more time from my side.

Since, from a user perspective, this occurs behind the scenes, the patch set should already be useful. More features may/will be added on top of it (overflow signal, pageable back-up buffers, kernel tracing, core file support, profiling, ...).
Signed-off-by: default avatarMarkus Metzger <markus.t.metzger@intel.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent cba4b65d
...@@ -88,11 +88,13 @@ struct ptrace_bts_config { ...@@ -88,11 +88,13 @@ struct ptrace_bts_config {
unsigned int size; unsigned int size;
/* bitmask of below flags */ /* bitmask of below flags */
unsigned int flags; unsigned int flags;
/* buffer overflow signal */
unsigned int signal;
}; };
#define PTRACE_BTS_O_TRACE 0x1 /* branch trace */ #define PTRACE_BTS_O_TRACE 0x1 /* branch trace */
#define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */ #define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */
#define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG? on buffer overflow #define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG<signal> on buffer overflow
instead of wrapping around */ instead of wrapping around */
#define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available #define PTRACE_BTS_O_CUT_SIZE 0x8 /* cut requested size to max available
instead of failing */ instead of failing */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment