/* This file contains functions for tracepoint custom probes support. */
+#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <urcu/rculist.h>
-#include <ust/type-serializer.h>
#include <ust/core.h>
#include <ust/clock.h>
+#include <urcu-bp.h>
#include "tracer.h"
+#include "type-serializer.h"
notrace
-void _ltt_specialized_trace(const struct marker *mdata, void *probe_data,
+void _ltt_specialized_trace(const struct ust_marker *mdata, void *probe_data,
void *serialize_private, unsigned int data_size,
unsigned int largest_align)
{
if (!chan->active)
continue;
+ /* If a new cpu was plugged since the trace was started, we did
+ * not add it to the trace, and therefore we write the event to
+ * cpu 0.
+ */
+ if(cpu >= chan->n_cpus) {
+ cpu = 0;
+ }
+
/* reserve space : header and data */
ret = ltt_reserve_slot(chan, trace, data_size, largest_align,
cpu, &buf, &slot_size, &buf_offset, &tsc,