- /* Event payload. */
- payload.ip = (unsigned long)instruction_pointer(regs);
-
- lib_ring_buffer_align_ctx(&ctx, lttng_alignof(payload));
- chan->ops->event_write(&ctx, &payload, sizeof(payload));
- chan->ops->event_commit(&ctx);
- return 0;
-}
-
-static
-int lttng_uprobes_event_notifier_handler_pre(struct uprobe_consumer *uc, struct pt_regs *regs)
-{
- struct lttng_uprobe_handler *uprobe_handler =
- container_of(uc, struct lttng_uprobe_handler, up_consumer);
- struct lttng_event_notifier *event_notifier = uprobe_handler->u.event_notifier;
- struct lttng_kernel_notifier_ctx notif_ctx;
+ switch (event->type) {
+ case LTTNG_KERNEL_EVENT_TYPE_RECORDER:
+ {
+ struct lttng_kernel_event_recorder *event_recorder =
+ container_of(event, struct lttng_kernel_event_recorder, parent);
+ struct lttng_kernel_channel_buffer *chan = event_recorder->chan;
+ struct lttng_kernel_ring_buffer_ctx ctx;
+ int ret;