X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint-event-impl.h;h=4df71ff2b0b47a11e72fd380844ba5b4569b2a6d;hb=8c0393c3679b2f047a723b23e012188b064797d4;hp=d70c1f9743efbf3b10fbc091c87e4afc3daa5a39;hpb=a775608d0d1d6142c80c26b21ff79bf7e04d8e53;p=lttng-modules.git diff --git a/include/lttng/tracepoint-event-impl.h b/include/lttng/tracepoint-event-impl.h index d70c1f97..4df71ff2 100644 --- a/include/lttng/tracepoint-event-impl.h +++ b/include/lttng/tracepoint-event-impl.h @@ -20,7 +20,6 @@ #include #include #include -#include /* TODO: remove this include after refactoring is done. */ #include #include @@ -252,7 +251,7 @@ void __event_template_proto___##_name(void); lttng_kernel_static_type_integer_from_type(_length_type, __BYTE_ORDER, 10), \ _nowrite, 0, 1), \ lttng_kernel_static_event_field(#_item, \ - lttng_kernel_static_type_sequence("_" #_item "_length", \ + lttng_kernel_static_type_sequence(NULL, /* Use previous field. */ \ lttng_kernel_static_type_integer_from_type(_type, _byte_order, _elem_type_base), \ 0, \ _encoding), \ @@ -266,7 +265,7 @@ void __event_template_proto___##_name(void); lttng_kernel_static_type_integer_from_type(_length_type, __BYTE_ORDER, 10), \ _nowrite, 0, 1), \ lttng_kernel_static_event_field(#_item, \ - lttng_kernel_static_type_sequence("_" #_item "_length", \ + lttng_kernel_static_type_sequence(NULL, /* Use previous field. */ \ lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10), \ lttng_alignof(_type), \ none), \ @@ -1004,7 +1003,7 @@ static void __event_probe__##_name(_data_proto) \ { \ struct probe_local_vars { _locvar }; \ struct lttng_kernel_event_common *__event = __data; \ - struct lttng_probe_ctx __lttng_probe_ctx = { \ + struct lttng_kernel_probe_ctx __lttng_probe_ctx = { \ .event = __event, \ .interruptible = !irqs_disabled(), \ }; \ @@ -1024,8 +1023,8 @@ static void __event_probe__##_name(_data_proto) \ struct lttng_kernel_event_recorder *__event_recorder = \ container_of(__event, struct lttng_kernel_event_recorder, parent); \ struct lttng_channel *__chan = __event_recorder->chan; \ - struct lttng_session *__session = __chan->session; \ - struct lttng_id_tracker_rcu *__lf; \ + struct lttng_kernel_session *__session = __chan->session; \ + struct lttng_kernel_id_tracker_rcu *__lf; \ \ if (!_TP_SESSION_CHECK(session, __session)) \ return; \ @@ -1068,20 +1067,11 @@ static void __event_probe__##_name(_data_proto) \ __dynamic_len_idx = __orig_dynamic_len_offset; \ _code_pre \ if (unlikely(READ_ONCE(__event->eval_filter))) { \ - struct lttng_bytecode_runtime *bc_runtime; \ - bool __filter_record = false; \ - \ __event_prepare_interpreter_stack__##_name(__stackvar.__interpreter_stack_data, \ _locvar_args); \ __interpreter_stack_prepared = true; \ - lttng_list_for_each_entry_rcu(bc_runtime, &__event->priv->filter_bytecode_runtime_head, node) { \ - if (unlikely(bc_runtime->interpreter_funcs.filter(bc_runtime, &__lttng_probe_ctx, \ - __stackvar.__interpreter_stack_data) & LTTNG_INTERPRETER_RECORD_FLAG)) { \ - __filter_record = true; \ - break; \ - } \ - } \ - if (likely(!__filter_record)) \ + if (likely(__event->run_filter(__event, \ + __stackvar.__interpreter_stack_data, &__lttng_probe_ctx, NULL) != LTTNG_KERNEL_EVENT_FILTER_ACCEPT)) \ goto __post; \ } \ switch (__event->type) { \ @@ -1090,7 +1080,7 @@ static void __event_probe__##_name(_data_proto) \ struct lttng_kernel_event_recorder *__event_recorder = \ container_of(__event, struct lttng_kernel_event_recorder, parent); \ struct lttng_channel *__chan = __event_recorder->chan; \ - struct lib_ring_buffer_ctx __ctx; \ + struct lttng_kernel_ring_buffer_ctx __ctx; \ ssize_t __event_len; \ size_t __event_align; \ int __ret; \ @@ -1101,9 +1091,9 @@ static void __event_probe__##_name(_data_proto) \ goto __post; \ } \ __event_align = __event_get_align__##_name(_locvar_args); \ - lib_ring_buffer_ctx_init(&__ctx, __chan->chan, __event_len, \ - __event_align, -1, &__lttng_probe_ctx); \ - __ret = __chan->ops->event_reserve(&__ctx, __event_recorder->priv->id); \ + lib_ring_buffer_ctx_init(&__ctx, __event_recorder, __event_len, \ + __event_align, &__lttng_probe_ctx); \ + __ret = __chan->ops->event_reserve(&__ctx); \ if (__ret < 0) \ goto __post; \ _fields \ @@ -1250,12 +1240,12 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM static int TP_ID(__lttng_events_init__, TRACE_SYSTEM)(void) { wrapper_vmalloc_sync_mappings(); - return lttng_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM)); + return lttng_kernel_probe_register(&TP_ID(__probe_desc___, TRACE_SYSTEM)); } static void TP_ID(__lttng_events_exit__, TRACE_SYSTEM)(void) { - lttng_probe_unregister(&TP_ID(__probe_desc___, TRACE_SYSTEM)); + lttng_kernel_probe_unregister(&TP_ID(__probe_desc___, TRACE_SYSTEM)); } #ifndef TP_MODULE_NOAUTOLOAD