#include <linux/module.h>
#include <linux/types.h>
-#include <linux/trace-clock.h>
+#include <linux/vmalloc.h> /* for vmalloc_sync_all */
+#include "wrapper/trace-clock.h"
#include "ltt-events.h"
#include "ltt-tracer.h"
lib_ring_buffer_put_cpu(&client_config);
}
+void ltt_event_write(struct lib_ring_buffer_ctx *ctx, const void *src,
+ size_t len)
+{
+ lib_ring_buffer_write(&client_config, ctx, src, len);
+}
static struct ltt_transport ltt_relay_transport = {
.name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING,
.buffer_read_close = ltt_buffer_read_close,
.event_reserve = ltt_event_reserve,
.event_commit = ltt_event_commit,
+ .event_write = ltt_event_write,
},
};
static int __init ltt_ring_buffer_client_init(void)
{
+ /*
+ * This vmalloc sync all also takes care of the lib ring buffer
+ * vmalloc'd module pages when it is built as a module into LTTng.
+ */
+ vmalloc_sync_all();
printk(KERN_INFO "LTT : ltt ring buffer client init\n");
ltt_transport_register(<t_relay_transport);
return 0;