Update LTTNG from 2.0.1 to 2.0.4
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Jul 2012 18:41:43 +0000 (11:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Jul 2012 18:41:43 +0000 (11:41 -0700)
patches.lttng/lttng-update-2.0.1-to-2.0.4.patch [new file with mode: 0644]
series

diff --git a/patches.lttng/lttng-update-2.0.1-to-2.0.4.patch b/patches.lttng/lttng-update-2.0.1-to-2.0.4.patch
new file mode 100644 (file)
index 0000000..7fb335c
--- /dev/null
@@ -0,0 +1,204 @@
+From compudj@mail.openrapids.net Tue Jun 26 23:52:58 2012
+From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Date: Wed, 27 Jun 2012 02:52:55 -0400
+Subject: [LTSI staging] LTTng staging update 2.0.1 to 2.0.4
+To: Greg KH <gregkh@linuxfoundation.org>
+Cc: ltsi-dev@lists.linuxfoundation.org
+Message-ID: <20120627065255.GA6293@Krystal>
+Content-Disposition: inline
+
+
+Update LTTng in LTSI staging from lttng-modules 2.0.1 to 2.0.4.
+(available at: git://git.lttng.org/lttng-modules.git)
+
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ drivers/staging/lttng/README                                                      |   43 +++++++++-
+ drivers/staging/lttng/instrumentation/events/lttng-module/signal.h                |   37 ++++++++
+ drivers/staging/lttng/instrumentation/syscalls/lttng-syscalls-generate-headers.sh |    2 
+ drivers/staging/lttng/lttng-events.c                                              |    2 
+ drivers/staging/lttng/lttng-tracer.h                                              |    2 
+ drivers/staging/lttng/probes/lttng-events.h                                       |    2 
+ drivers/staging/lttng/probes/lttng-probe-statedump.c                              |    1 
+ 7 files changed, 80 insertions(+), 9 deletions(-)
+
+--- a/drivers/staging/lttng/README
++++ b/drivers/staging/lttng/README
+@@ -1,7 +1,7 @@
+ LTTng 2.0 modules
+ Mathieu Desnoyers
+-February 8, 2012
++April 6, 2012
+ LTTng 2.0 kernel modules build against a vanilla or distribution kernel, without
+ need for additional patches. Other features:
+@@ -37,9 +37,44 @@ LTTng 0.x patchset, but the lttng-module
+ 0.x, so both tracers cannot be installed at the same time for a given
+ kernel version.
+-LTTng-modules depends on having kallsyms enabled in the kernel it is
+-built against. Ideally, if you want to have system call tracing, the
+-"Trace Syscalls" feature should be enabled too.
++
++* Kernel config options required
++
++CONFIG_MODULES: required
++  * Kernel modules support.
++CONFIG_KALLSYMS: required
++  * See wrapper/ files. This is necessary until the few required missing
++    symbols are exported to GPL modules from mainline.
++CONFIG_HIGH_RES_TIMERS: required
++  * Needed for LTTng 2.0 clock source.
++CONFIG_TRACEPOINTS: required
++    kernel tracepoint instrumentation
++    * Enabled as side-effect of any of the perf/ftrace/blktrace
++      instrumentation features.
++
++
++* Kernel config options supported (optional)
++
++The following kernel configuration options will affect the features
++available from LTTng:
++
++
++CONFIG_HAVE_SYSCALL_TRACEPOINTS:
++            system call tracing
++               lttng enable-event -k --syscall
++               lttng enable-event -k -a
++CONFIG_PERF_EVENTS:
++            performance counters
++               lttng add-context -t perf:*
++CONFIG_EVENT_TRACING:
++            needed to allow block layer tracing
++CONFIG_KPROBES:
++            Dynamic probe.
++               lttng enable-event -k --probe ...
++CONFIG_KRETPROBES:
++            Dynamic function entry/return probe.
++               lttng enable-event -k --function ...
++
+ * Note about Perf PMU counters support
+--- a/drivers/staging/lttng/instrumentation/events/lttng-module/signal.h
++++ b/drivers/staging/lttng/instrumentation/events/lttng-module/signal.h
+@@ -5,6 +5,7 @@
+ #define _TRACE_SIGNAL_H
+ #include <linux/tracepoint.h>
++#include <linux/version.h>
+ #ifndef _TRACE_SIGNAL_DEF
+ #define _TRACE_SIGNAL_DEF
+@@ -34,6 +35,7 @@
+  * SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV
+  * means that si_code is SI_KERNEL.
+  */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
+ TRACE_EVENT(signal_generate,
+       TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
+@@ -44,7 +46,7 @@ TRACE_EVENT(signal_generate,
+               __field(        int,    sig                     )
+               __field(        int,    errno                   )
+               __field(        int,    code                    )
+-              __array(        char,   comm,   TASK_COMM_LEN   )
++              __array_text(   char,   comm,   TASK_COMM_LEN   )
+               __field(        pid_t,  pid                     )
+       ),
+@@ -59,6 +61,39 @@ TRACE_EVENT(signal_generate,
+                 __entry->sig, __entry->errno, __entry->code,
+                 __entry->comm, __entry->pid)
+ )
++#else
++TRACE_EVENT(signal_generate,
++
++      TP_PROTO(int sig, struct siginfo *info, struct task_struct *task,
++                      int group, int result),
++
++      TP_ARGS(sig, info, task, group, result),
++
++      TP_STRUCT__entry(
++              __field(        int,    sig                     )
++              __field(        int,    errno                   )
++              __field(        int,    code                    )
++              __array_text(   char,   comm,   TASK_COMM_LEN   )
++              __field(        pid_t,  pid                     )
++              __field(        int,    group                   )
++              __field(        int,    result                  )
++      ),
++
++      TP_fast_assign(
++              tp_assign(sig, sig)
++              TP_STORE_SIGINFO(info)
++              tp_memcpy(comm, task->comm, TASK_COMM_LEN)
++              tp_assign(pid, task->pid)
++              tp_assign(group, group)
++              tp_assign(result, result)
++      ),
++
++      TP_printk("sig=%d errno=%d code=%d comm=%s pid=%d grp=%d res=%d",
++                __entry->sig, __entry->errno, __entry->code,
++                __entry->comm, __entry->pid, __entry->group,
++                __entry->result)
++)
++#endif
+ /**
+  * signal_deliver - called when a signal is delivered
+--- a/drivers/staging/lttng/instrumentation/syscalls/lttng-syscalls-generate-headers.sh
++++ b/drivers/staging/lttng/instrumentation/syscalls/lttng-syscalls-generate-headers.sh
+@@ -59,7 +59,7 @@ if [ "$CLASS" = integers ]; then
+ NRARGS=0
+-echo \
++echo -e \
+ 'SC_DECLARE_EVENT_CLASS_NOARGS(syscalls_noargs,\n'\
+ '     TP_STRUCT__entry(),\n'\
+ '     TP_fast_assign(),\n'\
+--- a/drivers/staging/lttng/lttng-events.c
++++ b/drivers/staging/lttng/lttng-events.c
+@@ -292,7 +292,7 @@ struct lttng_event *lttng_event_create(s
+       int ret;
+       mutex_lock(&sessions_mutex);
+-      if (chan->free_event_id == -1UL)
++      if (chan->free_event_id == -1U)
+               goto full;
+       /*
+        * This is O(n^2) (for each event, the loop is called at event
+--- a/drivers/staging/lttng/lttng-tracer.h
++++ b/drivers/staging/lttng/lttng-tracer.h
+@@ -40,7 +40,7 @@
+ #define LTTNG_MODULES_MAJOR_VERSION 2
+ #define LTTNG_MODULES_MINOR_VERSION 0
+-#define LTTNG_MODULES_PATCHLEVEL_VERSION 1
++#define LTTNG_MODULES_PATCHLEVEL_VERSION 4
+ #define LTTNG_VERSION_NAME            "Annedd'ale"
+ #define LTTNG_VERSION_DESCRIPTION     \
+--- a/drivers/staging/lttng/probes/lttng-events.h
++++ b/drivers/staging/lttng/probes/lttng-events.h
+@@ -18,7 +18,7 @@
+  * License along with this library; if not, write to the Free Software
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+-
++#include <linux/uaccess.h>
+ #include <linux/debugfs.h>
+ #include "lttng.h"
+ #include "lttng-types.h"
+--- a/drivers/staging/lttng/probes/lttng-probe-statedump.c
++++ b/drivers/staging/lttng/probes/lttng-probe-statedump.c
+@@ -27,6 +27,7 @@
+ #include <linux/ip.h>
+ #include <linux/netdevice.h>
+ #include <linux/inetdevice.h>
++#include <linux/sched.h>
+ #include "../lttng-events.h"
+ /*
diff --git a/series b/series
index e326ac9..4369336 100644 (file)
--- a/series
+++ b/series
@@ -366,6 +366,7 @@ patches.lttng/0172-staging-lttng-Fix-recent-modifications-to-string_fro.patch
 patches.lttng/0173-staging-lttng-TODO-update-lttng-reported-to-work-fin.patch
 patches.lttng/0174-staging-lttng-Update-max-symbol-length-to-256.patch
 patches.lttng/lttng-update-to-v2.0.1.patch
+patches.lttng/lttng-update-2.0.1-to-2.0.4.patch
 
 patches.runtime_pm/0001-Revert-PM-Runtime-Automatically-retry-failed-autosus.patch
 patches.runtime_pm/0002-PM-Domains-Rename-struct-dev_power_domain-to-struct-.patch