projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Refactoring: bytecode interpreter
[lttng-modules.git]
/
include
/
lttng
/
events.h
diff --git
a/include/lttng/events.h
b/include/lttng/events.h
index 2ceec317d604edc11c0a12d7b5cd3fd7b110ab86..2f48f6ef252a99b3f9b3e81b805d24a9da8938f3 100644
(file)
--- a/
include/lttng/events.h
+++ b/
include/lttng/events.h
@@
-376,13
+376,13
@@
struct lttng_kernel_probe_desc {
struct lttng_krp; /* Kretprobe handling */
struct lttng_krp; /* Kretprobe handling */
-enum lttng_
bytecode_n
ode_type {
- LTTNG_
BYTECODE_N
ODE_TYPE_FILTER,
- LTTNG_
BYTECODE_N
ODE_TYPE_CAPTURE,
+enum lttng_
kernel_bytec
ode_type {
+ LTTNG_
KERNEL_BYTEC
ODE_TYPE_FILTER,
+ LTTNG_
KERNEL_BYTEC
ODE_TYPE_CAPTURE,
};
struct lttng_bytecode_node {
};
struct lttng_bytecode_node {
- enum lttng_
bytecode_n
ode_type type;
+ enum lttng_
kernel_bytec
ode_type type;
struct list_head node;
struct lttng_enabler *enabler;
struct {
struct list_head node;
struct lttng_enabler *enabler;
struct {
@@
-393,29
+393,16
@@
struct lttng_bytecode_node {
} bc;
};
} bc;
};
-/*
- * Bytecode interpreter return value masks.
- */
-enum lttng_bytecode_interpreter_ret {
- LTTNG_INTERPRETER_DISCARD = 0,
- LTTNG_INTERPRETER_RECORD_FLAG = (1ULL << 0),
- /* Other bits are kept for future use. */
-};
-
struct lttng_interpreter_output;
struct lttng_bytecode_runtime {
/* Associated bytecode */
struct lttng_interpreter_output;
struct lttng_bytecode_runtime {
/* Associated bytecode */
+ enum lttng_kernel_bytecode_type type;
struct lttng_bytecode_node *bc;
struct lttng_bytecode_node *bc;
- union {
- uint64_t (*filter)(void *filter_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
- const char *filter_stack_data);
- uint64_t (*capture)(void *filter_data,
+ int (*interpreter_func)(struct lttng_bytecode_runtime *kernel_bytecode,
+ const char *interpreter_stack_data,
struct lttng_probe_ctx *lttng_probe_ctx,
struct lttng_probe_ctx *lttng_probe_ctx,
- const char *capture_stack_data,
- struct lttng_interpreter_output *output);
- } interpreter_funcs;
+ void *caller_ctx);
int link_failed;
struct list_head node; /* list of bytecode runtime in event */
struct lttng_kernel_ctx *ctx;
int link_failed;
struct list_head node; /* list of bytecode runtime in event */
struct lttng_kernel_ctx *ctx;
@@
-456,6
+443,14
@@
enum lttng_syscall_abi {
LTTNG_SYSCALL_ABI_COMPAT,
};
LTTNG_SYSCALL_ABI_COMPAT,
};
+/*
+ * Result of the run_filter() callback.
+ */
+enum lttng_kernel_event_filter_result {
+ LTTNG_KERNEL_EVENT_FILTER_ACCEPT = 0,
+ LTTNG_KERNEL_EVENT_FILTER_REJECT = 1,
+};
+
struct lttng_kernel_event_common_private;
enum lttng_kernel_event_type {
struct lttng_kernel_event_common_private;
enum lttng_kernel_event_type {
@@
-471,8
+466,9
@@
struct lttng_kernel_event_common {
int enabled;
int eval_filter; /* Need to evaluate filters */
int enabled;
int eval_filter; /* Need to evaluate filters */
- int (*run_filter)(struct lttng_kernel_event_common *event,
+ int (*run_filter)(
const
struct lttng_kernel_event_common *event,
const char *stack_data,
const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
void *filter_ctx);
};
void *filter_ctx);
};
@@
-497,8
+493,8
@@
struct lttng_kernel_event_notifier {
int eval_capture; /* Need to evaluate capture */
void (*notification_send)(struct lttng_kernel_event_notifier *event_notifier,
int eval_capture; /* Need to evaluate capture */
void (*notification_send)(struct lttng_kernel_event_notifier *event_notifier,
- struct lttng_probe_ctx *probe_ctx,
const char *stack_data,
const char *stack_data,
+ struct lttng_probe_ctx *probe_ctx,
struct lttng_kernel_notification_ctx *notif_ctx);
};
struct lttng_kernel_notification_ctx *notif_ctx);
};
This page took
0.024749 seconds
and
4
git commands to generate.