projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix tp_copy_string_from_user handling of faults
[lttng-modules.git]
/
ltt-debugfs-abi.h
diff --git
a/ltt-debugfs-abi.h
b/ltt-debugfs-abi.h
index 9524cb03f6d7a5e83b2b0ae730db279a2cb0ed80..42bc9fd26e5b9f5d8df27180c45dac5426edb97b 100644
(file)
--- a/
ltt-debugfs-abi.h
+++ b/
ltt-debugfs-abi.h
@@
-19,6
+19,17
@@
enum lttng_kernel_instrumentation {
LTTNG_KERNEL_TRACEPOINT = 0,
LTTNG_KERNEL_KPROBE = 1,
LTTNG_KERNEL_FUNCTION = 2,
LTTNG_KERNEL_TRACEPOINT = 0,
LTTNG_KERNEL_KPROBE = 1,
LTTNG_KERNEL_FUNCTION = 2,
+ LTTNG_KERNEL_KRETPROBE = 3,
+ LTTNG_KERNEL_NOOP = 4, /* not hooked */
+ LTTNG_KERNEL_SYSCALL = 5,
+};
+
+/*
+ * LTTng consumer mode
+ */
+enum lttng_kernel_output {
+ LTTNG_KERNEL_SPLICE = 0,
+ LTTNG_KERNEL_MMAP = 1,
};
/*
};
/*
@@
-31,6
+42,14
@@
struct lttng_kernel_channel {
uint64_t num_subbuf;
unsigned int switch_timer_interval; /* usecs */
unsigned int read_timer_interval; /* usecs */
uint64_t num_subbuf;
unsigned int switch_timer_interval; /* usecs */
unsigned int read_timer_interval; /* usecs */
+ enum lttng_kernel_output output; /* splice, mmap */
+};
+
+struct lttng_kernel_kretprobe {
+ uint64_t addr;
+
+ uint64_t offset;
+ char symbol_name[LTTNG_SYM_NAME_LEN];
};
/*
};
/*
@@
-47,11
+66,15
@@
struct lttng_kernel_function_tracer {
char symbol_name[LTTNG_SYM_NAME_LEN];
};
char symbol_name[LTTNG_SYM_NAME_LEN];
};
+/*
+ * For syscall tracing, name = '\0' means "enable all".
+ */
struct lttng_kernel_event {
char name[LTTNG_SYM_NAME_LEN]; /* event name */
enum lttng_kernel_instrumentation instrumentation;
/* Per instrumentation type configuration */
union {
struct lttng_kernel_event {
char name[LTTNG_SYM_NAME_LEN]; /* event name */
enum lttng_kernel_instrumentation instrumentation;
/* Per instrumentation type configuration */
union {
+ struct lttng_kernel_kretprobe kretprobe;
struct lttng_kernel_kprobe kprobe;
struct lttng_kernel_function_tracer ftrace;
} u;
struct lttng_kernel_kprobe kprobe;
struct lttng_kernel_function_tracer ftrace;
} u;
@@
-63,10
+86,18
@@
struct lttng_kernel_tracer_version {
uint32_t sublevel;
};
uint32_t sublevel;
};
+enum lttng_kernel_calibrate_type {
+ LTTNG_KERNEL_CALIBRATE_KRETPROBE,
+};
+
+struct lttng_kernel_calibrate {
+ enum lttng_kernel_calibrate_type type; /* type (input) */
+};
+
enum lttng_kernel_context_type {
LTTNG_KERNEL_CONTEXT_PID = 0,
LTTNG_KERNEL_CONTEXT_PERF_COUNTER = 1,
enum lttng_kernel_context_type {
LTTNG_KERNEL_CONTEXT_PID = 0,
LTTNG_KERNEL_CONTEXT_PERF_COUNTER = 1,
- LTTNG_KERNEL_CONTEXT_
COMM
= 2,
+ LTTNG_KERNEL_CONTEXT_
PROCNAME
= 2,
LTTNG_KERNEL_CONTEXT_PRIO = 3,
LTTNG_KERNEL_CONTEXT_NICE = 4,
LTTNG_KERNEL_CONTEXT_VPID = 5,
LTTNG_KERNEL_CONTEXT_PRIO = 3,
LTTNG_KERNEL_CONTEXT_NICE = 4,
LTTNG_KERNEL_CONTEXT_VPID = 5,
@@
-95,6
+126,8
@@
struct lttng_kernel_context {
_IOR(0xF6, 0x41, struct lttng_kernel_tracer_version)
#define LTTNG_KERNEL_TRACEPOINT_LIST _IO(0xF6, 0x42)
#define LTTNG_KERNEL_WAIT_QUIESCENT _IO(0xF6, 0x43)
_IOR(0xF6, 0x41, struct lttng_kernel_tracer_version)
#define LTTNG_KERNEL_TRACEPOINT_LIST _IO(0xF6, 0x42)
#define LTTNG_KERNEL_WAIT_QUIESCENT _IO(0xF6, 0x43)
+#define LTTNG_KERNEL_CALIBRATE \
+ _IOWR(0xF6, 0x44, struct lttng_kernel_calibrate)
/* Session FD ioctl */
#define LTTNG_KERNEL_METADATA \
/* Session FD ioctl */
#define LTTNG_KERNEL_METADATA \
This page took
0.026585 seconds
and
4
git commands to generate.