summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f3bc08c)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
ifneq ($(KERNELRELEASE),)
ifneq ($(CONFIG_TRACEPOINTS),)
ifneq ($(KERNELRELEASE),)
ifneq ($(CONFIG_TRACEPOINTS),)
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 \
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-core.o
#include <linux/file.h>
#include <linux/uaccess.h>
#include <linux/slab.h>
#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"
#include "wrapper/ringbuffer/vfs.h"
#include "ltt-debugfs-abi.h"
#include "ltt-events.h"
lttng_dentry = debugfs_create_file("lttng", S_IWUSR, NULL, NULL,
<tng_fops);
if (IS_ERR(lttng_dentry) || !lttng_dentry) {
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/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"
#include "wrapper/trace-clock.h"
#include "ltt-events.h"
#include "ltt-tracer.h"
static int __init ltt_ring_buffer_client_init(void)
{
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;
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 <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"
#include "../wrapper/ringbuffer/frontend_types.h"
#include "../ltt-events.h"
#include "../ltt-tracer-core.h"
ret = TP_ID(__lttng_types_init__, TRACE_SYSTEM)();
if (ret)
return ret;
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/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;
#include "lttng-types.h"
struct dentry *lttng_types_dentry;
lttng_types_dentry = debugfs_create_file("lttng-types", S_IWUSR,
NULL, NULL, <tng_types_fops);
if (IS_ERR(lttng_types_dentry) || !lttng_types_dentry) {
lttng_types_dentry = debugfs_create_file("lttng-types", S_IWUSR,
NULL, NULL, <tng_types_fops);
if (IS_ERR(lttng_types_dentry) || !lttng_types_dentry) {