x86, ptrace: overflow signal API
authorMarkus Metzger <markus.t.metzger@intel.com>
Wed, 30 Jan 2008 12:32:04 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:04 +0000 (13:32 +0100)
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: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/asm-x86/ptrace-abi.h

index bcf67044754cd75d33716c064847936fe9dbd9da..b3b9e023afce7851a268fe29b1efca3dc39f7e3b 100644 (file)
@@ -88,11 +88,13 @@ struct ptrace_bts_config {
        unsigned int size;
        /* bitmask of below flags */
        unsigned int flags;
+       /* buffer overflow signal */
+       unsigned int signal;
 };
 
 #define PTRACE_BTS_O_TRACE     0x1 /* branch trace */
 #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 */
 #define PTRACE_BTS_O_CUT_SIZE  0x8 /* cut requested size to max available
                                       instead of failing */