ifneq ($(KERNELRELEASE),)
ifneq ($(CONFIG_TRACEPOINTS),)
-obj-m += ltt-core.o
obj-m += ltt-ring-buffer-client-discard.o
obj-m += ltt-ring-buffer-client-overwrite.o
obj-m += ltt-relay.o
ltt-relay-objs := ltt-events.o ltt-event-header.o ltt-debugfs-abi.o \
- ltt-probes.o
+ ltt-probes.o ltt-core.o
obj-m += probes/
#include <linux/file.h>
#include <linux/uaccess.h>
#include <linux/slab.h>
+#include <linux/vmalloc.h> /* For vmalloc_sync_all */
#include "wrapper/ringbuffer/vfs.h"
#include "ltt-debugfs-abi.h"
#include "ltt-events.h"
{
int ret = 0;
+ vmalloc_sync_all();
lttng_dentry = debugfs_create_file("lttng", S_IWUSR, NULL, NULL,
<tng_fops);
if (IS_ERR(lttng_dentry) || !lttng_dentry) {
#include <linux/module.h>
#include <linux/types.h>
+#include <linux/vmalloc.h> /* for vmalloc_sync_all */
#include "wrapper/trace-clock.h"
#include "ltt-events.h"
#include "ltt-tracer.h"
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;
#include <lttng.h>
#include <lttng-types.h>
#include <linux/debugfs.h>
+#include <linux/vmalloc.h> /* for vmalloc_sync_all() */
#include "../wrapper/ringbuffer/frontend_types.h"
#include "../ltt-events.h"
#include "../ltt-tracer-core.h"
int ret;
int i;
+ vmalloc_sync_all();
ret = TP_ID(__lttng_types_init__, TRACE_SYSTEM)();
if (ret)
return ret;
#include <linux/seq_file.h>
#include <linux/jbd.h> /* tid_t */
#include <linux/debugfs.h>
+#include <linux/vmalloc.h> /* for vmalloc_sync_all */
#include "lttng-types.h"
struct dentry *lttng_types_dentry;
{
int ret = 0;
+ vmalloc_sync_all();
lttng_types_dentry = debugfs_create_file("lttng-types", S_IWUSR,
NULL, NULL, <tng_types_fops);
if (IS_ERR(lttng_types_dentry) || !lttng_types_dentry) {