[ANNOUNCE] v4.14.18-rt15

Dear RT folks!

I'm pleased to announce the v4.14.18-rt15 patch set.

Changes since v4.14.18-rt14:

  - Remove unused mutex brd_mutex, it was causing a "defined but not
    used warning". Reported by Dan Murphy, patch by Mikulas Patocka.

  - Update the "tracing: Inter-event (e.g. latency) support" patch to
    what was merged in the end. The significant change is probably the
    inclusion of commit a0e3a18f4baf ("ring-buffer: Bring back context
    level recursive checks").

Known issues
     - A warning triggered in "rcu_note_context_switch" originated from
       SyS_timer_gettime(). The issue was always there, it is now
       visible. Reported by Grygorii Strashko and Daniel Wagner.

The delta patch against v4.14.18-rt14 is appended below and can be found here:

     https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.14/incr/patch-4.14.18-rt14-rt15.patch.xz

You can get this release via the git tree at:

    git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.14.18-rt15

The RT patch against v4.14.18 can be found here:

    https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patch-4.14.18-rt15.patch.xz

The split quilt queue is available at:

    https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.14/older/patches-4.14.18-rt15.tar.xz

Sebastian

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/patches/0002-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch b/patches/0001-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
similarity index 95%
rename from patches/0002-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
rename to patches/0001-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
index 4337026..2c22134 100644
--- a/patches/0002-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
+++ b/patches/0001-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
@@ -1,6 +1,6 @@
 From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
-Date: Fri, 22 Sep 2017 14:58:16 -0500
-Subject: [PATCH 02/42] tracing: Reverse the order of trace_types_lock and
+Date: Thu, 21 Sep 2017 16:22:49 -0400
+Subject: [PATCH 01/48] tracing: Reverse the order of trace_types_lock and
  event_mutex
 
 In order to make future changes where we need to call
@@ -9,8 +9,11 @@
 will hold event_mutex and the trace_types_lock is taken from within
 tracing_set_clock().
 
+Link: http://lkml.kernel.org/r/20170921162249.0dde3dca@gandalf.local.home
+
 Requested-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 12ecef0cb12102d8c034770173d2d1363cb97d52)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace.c        |    5 +++++
diff --git a/patches/0001-tracing-Steve-s-unofficial-trace_recursive_lock-patc.patch b/patches/0002-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch
similarity index 69%
rename from patches/0001-tracing-Steve-s-unofficial-trace_recursive_lock-patc.patch
rename to patches/0002-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch
index 58e4331..1c3f8a3 100644
--- a/patches/0001-tracing-Steve-s-unofficial-trace_recursive_lock-patc.patch
+++ b/patches/0002-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch
@@ -1,35 +1,26 @@
-From: Steven Rostedt <rostedt@goodmis.org>
-Date: Fri, 22 Sep 2017 14:58:15 -0500
-Subject: [PATCH 01/42] tracing: Steve's unofficial trace_recursive_lock()
- patch
+From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
+Date: Fri, 22 Sep 2017 16:59:02 -0400
+Subject: [PATCH 02/48] ring-buffer: Rewrite trace_recursive_(un)lock() to be
+ simpler
 
-On Tue,  5 Sep 2017 16:57:52 -0500
-Tom Zanussi <tom.zanussi@linux.intel.com> wrote:
+The current method to prevent the ring buffer from entering into a recursize
+loop is to use a bitmask and set the bit that maps to the current context
+(normal, softirq, irq or NMI), and if that bit was already set, it is
+considered a recursive loop.
 
-> Synthetic event generation requires the reservation of a second event
-> while the reservation of a previous event is still in progress.  The
-> trace_recursive_lock() check in ring_buffer_lock_reserve() prevents
-> this however.
->
-> This sets up a special reserve pathway for this particular case,
-> leaving existing pathways untouched, other than an additional check in
-> ring_buffer_lock_reserve() and trace_event_buffer_reserve().  These
-> checks could be gotten rid of as well, with copies of those functions,
-> but for now try to avoid that unless necessary.
->
-> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+New code is being added that may require the ring buffer to be entered a
+second time in the current context. The recursive locking prevents that from
+happening. Instead of mapping a bitmask to the current context, just allow 4
+levels of nesting in the ring buffer. This matches the 4 context levels that
+it can already nest. It is highly unlikely to have more than two levels,
+thus it should be fine when we add the second entry into the ring buffer. If
+that proves to be a problem, we can always up the number to 8.
 
-I've been planing on changing that lock, which may help you here
-without having to mess around with parameters. That is to simply add a
-counter. Would this patch help you. You can add a patch to increment
-the count to 5 with an explanation of handling synthetic events, but
-even getting to 4 is extremely unlikely.
+An added benefit is that reading preempt_count() to get the current level
+adds a very slight but noticeable overhead. This removes that need.
 
-I'll make this into an official patch if this works for you, and then
-you can include it in your series.
-
--- Steve
-
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 1a149d7d3f45d311da1f63473736c05f30ae8a75)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/ring_buffer.c |   66 ++++++++++++---------------------------------
diff --git a/patches/0004-tracing-Remove-lookups-from-tracing_map-hitcount.patch b/patches/0003-tracing-Remove-lookups-from-tracing_map-hitcount.patch
similarity index 73%
rename from patches/0004-tracing-Remove-lookups-from-tracing_map-hitcount.patch
rename to patches/0003-tracing-Remove-lookups-from-tracing_map-hitcount.patch
index 7e5e851..c3f3236 100644
--- a/patches/0004-tracing-Remove-lookups-from-tracing_map-hitcount.patch
+++ b/patches/0003-tracing-Remove-lookups-from-tracing_map-hitcount.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:18 -0500
-Subject: [PATCH 04/42] tracing: Remove lookups from tracing_map hitcount
+Subject: [PATCH 03/48] tracing: Remove lookups from tracing_map hitcount
 
 Lookups inflate the hitcount, making it essentially useless.  Only
 inserts and updates should really affect the hitcount anyway, so
 explicitly filter lookups out.
 
+Link: http://lkml.kernel.org/r/c8d9dc39d269a8abf88bf4102d0dfc65deb0fc7f.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 83c07ecc4203728e85fc4a2ce6fdf25d16ea118e)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/tracing_map.c |    3 ++-
diff --git a/patches/0005-tracing-Increase-tracing-map-KEYS_MAX-size.patch b/patches/0004-tracing-Increase-tracing-map-KEYS_MAX-size.patch
similarity index 71%
rename from patches/0005-tracing-Increase-tracing-map-KEYS_MAX-size.patch
rename to patches/0004-tracing-Increase-tracing-map-KEYS_MAX-size.patch
index 4757fb0..20c3ef4 100644
--- a/patches/0005-tracing-Increase-tracing-map-KEYS_MAX-size.patch
+++ b/patches/0004-tracing-Increase-tracing-map-KEYS_MAX-size.patch
@@ -1,11 +1,15 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:19 -0500
-Subject: [PATCH 05/42] tracing: Increase tracing map KEYS_MAX size
+Subject: [PATCH 04/48] tracing: Increase tracing map KEYS_MAX size
 
 The current default for the number of subkeys in a compound key is 2,
 which is too restrictive.  Increase it to a more realistic value of 3.
 
+Link: http://lkml.kernel.org/r/b6952cca06d1f912eba33804a6fd6069b3847d44.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 4f36c2d85cedea60ad424d44534121ab0458069e)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/tracing_map.h |    2 +-
diff --git a/patches/0006-tracing-Make-traceprobe-parsing-code-reusable.patch b/patches/0005-tracing-Make-traceprobe-parsing-code-reusable.patch
similarity index 96%
rename from patches/0006-tracing-Make-traceprobe-parsing-code-reusable.patch
rename to patches/0005-tracing-Make-traceprobe-parsing-code-reusable.patch
index 750af9c..14912fc 100644
--- a/patches/0006-tracing-Make-traceprobe-parsing-code-reusable.patch
+++ b/patches/0005-tracing-Make-traceprobe-parsing-code-reusable.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:20 -0500
-Subject: [PATCH 06/42] tracing: Make traceprobe parsing code reusable
+Subject: [PATCH 05/48] tracing: Make traceprobe parsing code reusable
 
 traceprobe_probes_write() and traceprobe_command() actually contain
 nothing that ties them to kprobes - the code is generically useful for
@@ -11,7 +11,11 @@
 traceprobe_probes_write() becomes trace_parse_run_command() and
 traceprobe_command() becomes trace_run_command().
 
+Link: http://lkml.kernel.org/r/ae5c26ea40c196a8986854d921eb6e713ede7e3f.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 7e465baa80293ed5f87fdf6405391d6f02110d4e)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace.c        |   86 ++++++++++++++++++++++++++++++++++++++++++++
diff --git a/patches/0007-tracing-Clean-up-hist_field_flags-enum.patch b/patches/0006-tracing-Clean-up-hist_field_flags-enum.patch
similarity index 81%
rename from patches/0007-tracing-Clean-up-hist_field_flags-enum.patch
rename to patches/0006-tracing-Clean-up-hist_field_flags-enum.patch
index c7a61b3..61e6a4c 100644
--- a/patches/0007-tracing-Clean-up-hist_field_flags-enum.patch
+++ b/patches/0006-tracing-Clean-up-hist_field_flags-enum.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:21 -0500
-Subject: [PATCH 07/42] tracing: Clean up hist_field_flags enum
+Subject: [PATCH 06/48] tracing: Clean up hist_field_flags enum
 
 As we add more flags, specifying explicit integers for the flag values
 becomes more unwieldy and error-prone - switch them over to left-shift
 values.
 
+Link: http://lkml.kernel.org/r/e644e4fb7665aec015f4a2d84a2f990d3dd5b8a1.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 0d7a8325bf3326c92da2d21b4496a9ddde896d4f)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   20 ++++++++++----------
diff --git a/patches/0008-tracing-Add-hist_field_name-accessor.patch b/patches/0007-tracing-Add-hist_field_name-accessor.patch
similarity index 94%
rename from patches/0008-tracing-Add-hist_field_name-accessor.patch
rename to patches/0007-tracing-Add-hist_field_name-accessor.patch
index e3c7781..e4e0e94 100644
--- a/patches/0008-tracing-Add-hist_field_name-accessor.patch
+++ b/patches/0007-tracing-Add-hist_field_name-accessor.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:22 -0500
-Subject: [PATCH 08/42] tracing: Add hist_field_name() accessor
+Subject: [PATCH 07/48] tracing: Add hist_field_name() accessor
 
 In preparation for hist_fields that won't be strictly based on
 trace_event_fields, add a new hist_field_name() accessor to allow that
 flexibility and update associated users.
 
+Link: http://lkml.kernel.org/r/5b5a2d36dde067cbbe2434b10f06daac27b7dbd5.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 85013256cf01629f72a327674c5d007b4a4b40da)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   67 ++++++++++++++++++++++++++-------------
diff --git a/patches/0009-tracing-Reimplement-log2.patch b/patches/0008-tracing-Reimplement-log2.patch
similarity index 92%
rename from patches/0009-tracing-Reimplement-log2.patch
rename to patches/0008-tracing-Reimplement-log2.patch
index e26c8d5..fced686 100644
--- a/patches/0009-tracing-Reimplement-log2.patch
+++ b/patches/0008-tracing-Reimplement-log2.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Fri, 22 Sep 2017 14:58:23 -0500
-Subject: [PATCH 09/42] tracing: Reimplement log2
+Subject: [PATCH 08/48] tracing: Reimplement log2
 
 log2 as currently implemented applies only to u64 trace_event_field
 derived fields, and assumes that anything it's applied to is a u64
@@ -16,7 +16,11 @@
 definition for this purpose, and make use of it to implement the log2
 'function'.
 
+Link: http://lkml.kernel.org/r/b47f93fc0b87b36eccf716b0c018f3a71e1f1111.1506105045.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 5819eaddf35b24d628ddfa4fbb5f8d4026e44b96)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   31 +++++++++++++++++++++++++++----
diff --git a/patches/0001-tracing-Move-hist-trigger-Documentation-to-histogram.patch b/patches/0009-tracing-Move-hist-trigger-Documentation-to-histogram.patch
similarity index 99%
rename from patches/0001-tracing-Move-hist-trigger-Documentation-to-histogram.patch
rename to patches/0009-tracing-Move-hist-trigger-Documentation-to-histogram.patch
index 141a559..115c002 100644
--- a/patches/0001-tracing-Move-hist-trigger-Documentation-to-histogram.patch
+++ b/patches/0009-tracing-Move-hist-trigger-Documentation-to-histogram.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:35 -0600
-Subject: [PATCH 01/37] tracing: Move hist trigger Documentation to
+Subject: [PATCH 09/48] tracing: Move hist trigger Documentation to
  histogram.txt
 
 The hist trigger Documentation takes up a large part of events.txt -
 since it will be getting even larger, move it to a separate file.
 
+Link: http://lkml.kernel.org/r/92761155ea4f529e590821b1e02207fe8619f248.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 995f87b4d6ddb6bbb40309c08c3ca2a1f9f9db80)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/events.txt    | 1548 -------------------------------------
diff --git a/patches/0002-tracing-Add-Documentation-for-log2-modifier.patch b/patches/0010-tracing-Add-Documentation-for-log2-modifier.patch
similarity index 72%
rename from patches/0002-tracing-Add-Documentation-for-log2-modifier.patch
rename to patches/0010-tracing-Add-Documentation-for-log2-modifier.patch
index f9c8648..a5f686c 100644
--- a/patches/0002-tracing-Add-Documentation-for-log2-modifier.patch
+++ b/patches/0010-tracing-Add-Documentation-for-log2-modifier.patch
@@ -1,11 +1,15 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:36 -0600
-Subject: [PATCH 02/37] tracing: Add Documentation for log2 modifier
+Subject: [PATCH 10/48] tracing: Add Documentation for log2 modifier
 
 Add a line for the log2 modifier, to keep it aligned with
 tracing/README.
 
+Link: http://lkml.kernel.org/r/a419028bccab155749a4b8702d5b97af75f1578f.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit fcb5b95a2bb931f8e72e2dbd2def67382dd99d42)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |    1 +
diff --git a/patches/0003-tracing-Add-support-to-detect-and-avoid-duplicates.patch b/patches/0011-tracing-Add-support-to-detect-and-avoid-duplicates.patch
similarity index 93%
rename from patches/0003-tracing-Add-support-to-detect-and-avoid-duplicates.patch
rename to patches/0011-tracing-Add-support-to-detect-and-avoid-duplicates.patch
index 898d8f7..3c34776 100644
--- a/patches/0003-tracing-Add-support-to-detect-and-avoid-duplicates.patch
+++ b/patches/0011-tracing-Add-support-to-detect-and-avoid-duplicates.patch
@@ -1,6 +1,6 @@
 From: Vedang Patel <vedang.patel@intel.com>
 Date: Mon, 15 Jan 2018 20:51:37 -0600
-Subject: [PATCH 03/37] tracing: Add support to detect and avoid duplicates
+Subject: [PATCH 11/48] tracing: Add support to detect and avoid duplicates
 
 A duplicate in the tracing_map hash table is when 2 different entries
 have the same key and, as a result, the key_hash. This is possible due
@@ -40,8 +40,12 @@
 
 [1] http://lkml.kernel.org/r/cover.1498510759.git.tom.zanussi@linux.intel.com
 
+Link: http://lkml.kernel.org/r/e178e89ec399240331d383bd5913d649713110f4.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Vedang Patel <vedang.patel@intel.com>
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit bd0a7ab135d0d0872296c3ae3c4f816a9a4c3dee)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/tracing_map.c |   41 ++++++++++++++++++++++++++++++++++++-----
diff --git a/patches/0004-tracing-Remove-code-which-merges-duplicates.patch b/patches/0012-tracing-Remove-code-which-merges-duplicates.patch
similarity index 94%
rename from patches/0004-tracing-Remove-code-which-merges-duplicates.patch
rename to patches/0012-tracing-Remove-code-which-merges-duplicates.patch
index 9131c4c..e0e3da1 100644
--- a/patches/0004-tracing-Remove-code-which-merges-duplicates.patch
+++ b/patches/0012-tracing-Remove-code-which-merges-duplicates.patch
@@ -1,6 +1,6 @@
 From: Vedang Patel <vedang.patel@intel.com>
 Date: Mon, 15 Jan 2018 20:51:38 -0600
-Subject: [PATCH 04/37] tracing: Remove code which merges duplicates
+Subject: [PATCH 12/48] tracing: Remove code which merges duplicates
 
 We now have the logic to detect and remove duplicates in the
 tracing_map hash table. The code which merges duplicates in the
@@ -9,8 +9,12 @@
 that any rare race condition which might cause duplicates does not go
 unnoticed.
 
+Link: http://lkml.kernel.org/r/55215cf59e2674391bdaf772fdafc4c393352b03.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Vedang Patel <vedang.patel@intel.com>
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 3f7f4cc21fc62ff7da7d34b5ca95a69d73a1f764)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   11 -----
diff --git a/patches/0005-ring-buffer-Add-interface-for-setting-absolute-time-.patch b/patches/0013-ring-buffer-Add-interface-for-setting-absolute-time-.patch
similarity index 92%
rename from patches/0005-ring-buffer-Add-interface-for-setting-absolute-time-.patch
rename to patches/0013-ring-buffer-Add-interface-for-setting-absolute-time-.patch
index 90254d6..01e8751 100644
--- a/patches/0005-ring-buffer-Add-interface-for-setting-absolute-time-.patch
+++ b/patches/0013-ring-buffer-Add-interface-for-setting-absolute-time-.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:39 -0600
-Subject: [PATCH 05/37] ring-buffer: Add interface for setting absolute time
+Subject: [PATCH 13/48] ring-buffer: Add interface for setting absolute time
  stamps
 
 Define a new function, tracing_set_time_stamp_abs(), which can be used
@@ -10,8 +10,12 @@
 Only the interface is added here; a subsequent patch will add the
 underlying implementation.
 
+Link: http://lkml.kernel.org/r/ce96119de44c7fe0ee44786d15254e9b493040d3.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Baohong Liu <baohong.liu@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 22753475c5232cd6f024746d6a6696a4dd2683ab)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  include/linux/ring_buffer.h |    2 ++
diff --git a/patches/0006-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch b/patches/0014-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
similarity index 97%
rename from patches/0006-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
rename to patches/0014-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
index b781021..d934b018 100644
--- a/patches/0006-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
+++ b/patches/0014-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:40 -0600
-Subject: [PATCH 06/37] ring-buffer: Redefine the unimplemented
+Subject: [PATCH 14/48] ring-buffer: Redefine the unimplemented
  RINGBUF_TYPE_TIME_STAMP
 
 RINGBUF_TYPE_TIME_STAMP is defined but not used, and from what I can
@@ -20,7 +20,11 @@
 To set/reset this mode, use tracing_set_timestamp_abs() from the
 previous interface patch.
 
+Link: http://lkml.kernel.org/r/477b362dba1ce7fab9889a1a8e885a62c472f041.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 58c0bd803060b0c0c9de8751382a7af5f507d74d)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  include/linux/ring_buffer.h |   12 ++---
diff --git a/patches/0007-tracing-Add-timestamp_mode-trace-file.patch b/patches/0015-tracing-Add-timestamp_mode-trace-file.patch
similarity index 93%
rename from patches/0007-tracing-Add-timestamp_mode-trace-file.patch
rename to patches/0015-tracing-Add-timestamp_mode-trace-file.patch
index 006a35c..cfab8da 100644
--- a/patches/0007-tracing-Add-timestamp_mode-trace-file.patch
+++ b/patches/0015-tracing-Add-timestamp_mode-trace-file.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:41 -0600
-Subject: [PATCH 07/37] tracing: Add timestamp_mode trace file
+Subject: [PATCH 15/48] tracing: Add timestamp_mode trace file
 
 Add a new option flag indicating whether or not the ring buffer is in
 'absolute timestamp' mode.
@@ -14,7 +14,11 @@
 mode is in effect take up more space in the buffer, and are not as
 efficient).
 
+Link: http://lkml.kernel.org/r/e8aa7b1cde1cf15014e66545d06ac6ef2ebba456.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 0eba34f9bf5b66217355a6a66054b3194aca123d)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/ftrace.txt |   24 ++++++++++++++++++++
diff --git a/patches/0008-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch b/patches/0016-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
similarity index 96%
rename from patches/0008-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
rename to patches/0016-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
index be3c892..adaba32d 100644
--- a/patches/0008-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
+++ b/patches/0016-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:42 -0600
-Subject: [PATCH 08/37] tracing: Give event triggers access to
+Subject: [PATCH 16/48] tracing: Give event triggers access to
  ring_buffer_event
 
 The ring_buffer event can provide a timestamp that may be useful to
 various triggers - pass it into the handlers for that purpose.
 
+Link: http://lkml.kernel.org/r/6de592683b59fa70ffa5d43d0109896623fc1367.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 373514437a6f75b5cfe890742b590f2c12f6c335)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  include/linux/trace_events.h        |   14 ++++++----
diff --git a/patches/0009-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch b/patches/0017-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
similarity index 93%
rename from patches/0009-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
rename to patches/0017-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
index 3572b05..ac7f082 100644
--- a/patches/0009-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
+++ b/patches/0017-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:43 -0600
-Subject: [PATCH 09/37] tracing: Add ring buffer event param to hist field
+Subject: [PATCH 17/48] tracing: Add ring buffer event param to hist field
  functions
 
 Some events such as timestamps require access to a ring_buffer_event
 struct; add a param so that hist field functions can access that.
 
+Link: http://lkml.kernel.org/r/2ff4af18e72b6002eb86b26b2a7f39cef7d1dfe4.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit df7253a730d0aaef760d45ea234dc087ba7cac88)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   39 ++++++++++++++++++++++++---------------
diff --git a/patches/0010-tracing-Break-out-hist-trigger-assignment-parsing.patch b/patches/0018-tracing-Break-out-hist-trigger-assignment-parsing.patch
similarity index 91%
rename from patches/0010-tracing-Break-out-hist-trigger-assignment-parsing.patch
rename to patches/0018-tracing-Break-out-hist-trigger-assignment-parsing.patch
index 396a3bb..de84be4 100644
--- a/patches/0010-tracing-Break-out-hist-trigger-assignment-parsing.patch
+++ b/patches/0018-tracing-Break-out-hist-trigger-assignment-parsing.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:44 -0600
-Subject: [PATCH 10/37] tracing: Break out hist trigger assignment parsing
+Subject: [PATCH 18/48] tracing: Break out hist trigger assignment parsing
 
 This will make it easier to add variables, and makes the parsing code
 cleaner regardless.
 
+Link: http://lkml.kernel.org/r/e574b3291bbe15e35a4dfc87e5395aa715701c98.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Rajvi Jingar <rajvi.jingar@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 3c1e23def1291b21a2057f883ccc0456418dc5ad)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   72 +++++++++++++++++++++++++++------------
diff --git a/patches/0011-tracing-Add-hist-trigger-timestamp-support.patch b/patches/0019-tracing-Add-hist-trigger-timestamp-support.patch
similarity index 95%
rename from patches/0011-tracing-Add-hist-trigger-timestamp-support.patch
rename to patches/0019-tracing-Add-hist-trigger-timestamp-support.patch
index 75fa3f9..dfbf39e 100644
--- a/patches/0011-tracing-Add-hist-trigger-timestamp-support.patch
+++ b/patches/0019-tracing-Add-hist-trigger-timestamp-support.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:45 -0600
-Subject: [PATCH 11/37] tracing: Add hist trigger timestamp support
+Subject: [PATCH 19/48] tracing: Add hist trigger timestamp support
 
 Add support for a timestamp event field.  This is actually a 'pseudo-'
 event field in that it behaves like it's part of the event record, but
@@ -20,10 +20,14 @@
 event rather than an offset.  This mode will be enabled if and only if
 a histogram makes use of the "common_timestamp" field.
 
+Link: http://lkml.kernel.org/r/97afbd646ed146e26271f3458b4b33e16d7817c2.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Baohong Liu <baohong.liu@intel.com>
 [kasan use-after-free fix]
 Signed-off-by: Vedang Patel <vedang.patel@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 5d9d58b00ff82078deac8557c91359cd13c8959d)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   94 +++++++++++++++++++++++++++++----------
diff --git a/patches/0012-tracing-Add-per-element-variable-support-to-tracing_.patch b/patches/0020-tracing-Add-per-element-variable-support-to-tracing_.patch
similarity index 96%
rename from patches/0012-tracing-Add-per-element-variable-support-to-tracing_.patch
rename to patches/0020-tracing-Add-per-element-variable-support-to-tracing_.patch
index b597f76..9098864 100644
--- a/patches/0012-tracing-Add-per-element-variable-support-to-tracing_.patch
+++ b/patches/0020-tracing-Add-per-element-variable-support-to-tracing_.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:46 -0600
-Subject: [PATCH 12/37] tracing: Add per-element variable support to
+Subject: [PATCH 20/48] tracing: Add per-element variable support to
  tracing_map
 
 In order to allow information to be passed between trace events, add
@@ -17,7 +17,11 @@
 'unset' state, implementing read-once variables, which are also
 important for event-matching uses.
 
+Link: http://lkml.kernel.org/r/7fa001108252556f0c6dd9d63145eabfe3370d1a.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 42a38132f9e154e1fa2dd2182dff17f9c0e7ee7e)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/tracing_map.c |  108 +++++++++++++++++++++++++++++++++++++++++++++
diff --git a/patches/0013-tracing-Add-hist_data-member-to-hist_field.patch b/patches/0021-tracing-Add-hist_data-member-to-hist_field.patch
similarity index 89%
rename from patches/0013-tracing-Add-hist_data-member-to-hist_field.patch
rename to patches/0021-tracing-Add-hist_data-member-to-hist_field.patch
index 317b645..e004120 100644
--- a/patches/0013-tracing-Add-hist_data-member-to-hist_field.patch
+++ b/patches/0021-tracing-Add-hist_data-member-to-hist_field.patch
@@ -1,11 +1,15 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:47 -0600
-Subject: [PATCH 13/37] tracing: Add hist_data member to hist_field
+Subject: [PATCH 21/48] tracing: Add hist_data member to hist_field
 
 Allow hist_data access via hist_field.  Some users of hist_fields
 require or will require more access to the associated hist_data.
 
+Link: http://lkml.kernel.org/r/d04cd0768f5228ebb4ac0ba4a847bc4d14d4826f.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 14ab3edac407939009700c04215935576250e969)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   14 +++++++++-----
diff --git a/patches/0014-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch b/patches/0022-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
similarity index 94%
rename from patches/0014-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
rename to patches/0022-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
index a5af7d4..8154144 100644
--- a/patches/0014-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
+++ b/patches/0022-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:48 -0600
-Subject: [PATCH 14/37] tracing: Add usecs modifier for hist trigger timestamps
+Subject: [PATCH 22/48] tracing: Add usecs modifier for hist trigger timestamps
 
 Appending .usecs onto a common_timestamp field will cause the
 timestamp value to be in microseconds instead of the default
@@ -13,7 +13,11 @@
 This also adds an external trace_clock_in_ns() to trace.c for the
 timestamp conversion.
 
+Link: http://lkml.kernel.org/r/4e813705a170b3e13e97dc3135047362fb1a39f3.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 4fa4fdb0fe5d0e87e05b0c5b443cec2269ec0609)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |    1 +
diff --git a/patches/0015-tracing-Add-variable-support-to-hist-triggers.patch b/patches/0023-tracing-Add-variable-support-to-hist-triggers.patch
similarity index 98%
rename from patches/0015-tracing-Add-variable-support-to-hist-triggers.patch
rename to patches/0023-tracing-Add-variable-support-to-hist-triggers.patch
index 2ed39bf..4b85d24 100644
--- a/patches/0015-tracing-Add-variable-support-to-hist-triggers.patch
+++ b/patches/0023-tracing-Add-variable-support-to-hist-triggers.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:49 -0600
-Subject: [PATCH 15/37] tracing: Add variable support to hist triggers
+Subject: [PATCH 23/48] tracing: Add variable support to hist triggers
 
 Add support for saving the value of a current event's event field by
 assigning it to a variable that can be read by a subsequent event.
@@ -32,8 +32,12 @@
 Variables set as above can be used by being referenced from another
 event, as described in a subsequent patch.
 
+Link: http://lkml.kernel.org/r/fc93c4944d9719dbcb1d0067be627d44e98e2adc.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Baohong Liu <baohong.liu@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit b073711690e3af61965e53f197a56638b3c65a81)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  370 ++++++++++++++++++++++++++++++++++-----
diff --git a/patches/0016-tracing-Account-for-variables-in-named-trigger-compa.patch b/patches/0024-tracing-Account-for-variables-in-named-trigger-compa.patch
similarity index 81%
rename from patches/0016-tracing-Account-for-variables-in-named-trigger-compa.patch
rename to patches/0024-tracing-Account-for-variables-in-named-trigger-compa.patch
index d63d2ef..a7617a2 100644
--- a/patches/0016-tracing-Account-for-variables-in-named-trigger-compa.patch
+++ b/patches/0024-tracing-Account-for-variables-in-named-trigger-compa.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:50 -0600
-Subject: [PATCH 16/37] tracing: Account for variables in named trigger
+Subject: [PATCH 24/48] tracing: Account for variables in named trigger
  compatibility
 
 Named triggers must also have the same set of variables in order to be
@@ -10,7 +10,11 @@
 The reason for this requirement is that named triggers with variables
 are meant to allow one or more events to set the same variable.
 
+Link: http://lkml.kernel.org/r/a17eae6328a99917f9d5c66129c9fcd355279ee9.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit f94add7df3d72bc8e659f9491e25d91c9dae1b44)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |    7 ++++++-
diff --git a/patches/0017-tracing-Move-get_hist_field_flags.patch b/patches/0025-tracing-Move-get_hist_field_flags.patch
similarity index 88%
rename from patches/0017-tracing-Move-get_hist_field_flags.patch
rename to patches/0025-tracing-Move-get_hist_field_flags.patch
index 4f4801d..767bf7e8 100644
--- a/patches/0017-tracing-Move-get_hist_field_flags.patch
+++ b/patches/0025-tracing-Move-get_hist_field_flags.patch
@@ -1,11 +1,15 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:51 -0600
-Subject: [PATCH 17/37] tracing: Move get_hist_field_flags()
+Subject: [PATCH 25/48] tracing: Move get_hist_field_flags()
 
 Move get_hist_field_flags() to make it more easily accessible for new
 code (and keep the move separate from new functionality).
 
+Link: http://lkml.kernel.org/r/32470f0a7047ec7a6e84ba5ec89d6142cc6ede7d.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit fde3bce553d359c01beb9a6fce4013b65076aff3)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   44 +++++++++++++++++++--------------------
diff --git a/patches/0018-tracing-Add-simple-expression-support-to-hist-trigge.patch b/patches/0026-tracing-Add-simple-expression-support-to-hist-trigge.patch
similarity index 98%
rename from patches/0018-tracing-Add-simple-expression-support-to-hist-trigge.patch
rename to patches/0026-tracing-Add-simple-expression-support-to-hist-trigge.patch
index 82eb735..acfd1dd 100644
--- a/patches/0018-tracing-Add-simple-expression-support-to-hist-trigge.patch
+++ b/patches/0026-tracing-Add-simple-expression-support-to-hist-trigge.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:52 -0600
-Subject: [PATCH 18/37] tracing: Add simple expression support to hist triggers
+Subject: [PATCH 26/48] tracing: Add simple expression support to hist triggers
 
 Add support for simple addition, subtraction, and unary expressions
 (-(expr) and expr, where expr = b-a, a+b, a+b+c) to hist triggers, in
@@ -13,9 +13,13 @@
 In the process, factor out some common code from key and value
 parsing.
 
+Link: http://lkml.kernel.org/r/9a9308ead4fe32a433d9c7e95921fb798394f6b2.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 [kbuild test robot fix, add static to parse_atom()]
 Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 26c5cb5e4790fec96e3eba02c347e78fa72273a8)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  487 +++++++++++++++++++++++++++++++++------
diff --git a/patches/0019-tracing-Generalize-per-element-hist-trigger-data.patch b/patches/0027-tracing-Generalize-per-element-hist-trigger-data.patch
similarity index 93%
rename from patches/0019-tracing-Generalize-per-element-hist-trigger-data.patch
rename to patches/0027-tracing-Generalize-per-element-hist-trigger-data.patch
index 727362d..c51640d 100644
--- a/patches/0019-tracing-Generalize-per-element-hist-trigger-data.patch
+++ b/patches/0027-tracing-Generalize-per-element-hist-trigger-data.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:53 -0600
-Subject: [PATCH 19/37] tracing: Generalize per-element hist trigger data
+Subject: [PATCH 27/48] tracing: Generalize per-element hist trigger data
 
 Up until now, hist triggers only needed per-element support for saving
 'comm' data, which was saved directly as a private data pointer.
@@ -9,7 +9,11 @@
 new hist_elt_data struct for the purpose, and switch the current
 'comm'-related code over to that.
 
+Link: http://lkml.kernel.org/r/4502c338c965ddf5fc19fb1ec4764391e001ed4b.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 8102d0cb859d223564b17afb01e33701f57191d1)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   76 ++++++++++++++++++++++-----------------
diff --git a/patches/0020-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch b/patches/0028-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
similarity index 96%
rename from patches/0020-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
rename to patches/0028-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
index a151631..1634c72 100644
--- a/patches/0020-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
+++ b/patches/0028-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:54 -0600
-Subject: [PATCH 20/37] tracing: Pass tracing_map_elt to hist_field accessor
+Subject: [PATCH 28/48] tracing: Pass tracing_map_elt to hist_field accessor
  functions
 
 Some accessor functions, such as for variable references, require
@@ -9,7 +9,11 @@
 Add a tracing_map_elt param to the function signature and update the
 accessor functions accordingly.
 
+Link: http://lkml.kernel.org/r/e0f292b068e9e4948da1d5af21b5ae0efa9b5717.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 8405bbbbc9dc0d88ffc92848cb8f0bda2c7a1b30)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   91 ++++++++++++++++++++++++---------------
diff --git a/patches/0021-tracing-Add-hist_field-type-field.patch b/patches/0029-tracing-Add-hist_field-type-field.patch
similarity index 91%
rename from patches/0021-tracing-Add-hist_field-type-field.patch
rename to patches/0029-tracing-Add-hist_field-type-field.patch
index c2131c9..8b4ed00 100644
--- a/patches/0021-tracing-Add-hist_field-type-field.patch
+++ b/patches/0029-tracing-Add-hist_field-type-field.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:55 -0600
-Subject: [PATCH 21/37] tracing: Add hist_field 'type' field
+Subject: [PATCH 29/48] tracing: Add hist_field 'type' field
 
 Future support for synthetic events requires hist_field 'type'
 information, so add a field for that.
@@ -8,7 +8,11 @@
 Also, make other hist_field attribute usage consistent (size,
 is_signed, etc).
 
+Link: http://lkml.kernel.org/r/3fd12a2e86316b05151ba0d7c68268e780af2c9d.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit d544a468f82526e97cc80c18a019708eb203b00a)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   33 +++++++++++++++++++++++++++++++++
diff --git a/patches/0022-tracing-Add-variable-reference-handling-to-hist-trig.patch b/patches/0030-tracing-Add-variable-reference-handling-to-hist-trig.patch
similarity index 98%
rename from patches/0022-tracing-Add-variable-reference-handling-to-hist-trig.patch
rename to patches/0030-tracing-Add-variable-reference-handling-to-hist-trig.patch
index 06fcbb6..04e707e 100644
--- a/patches/0022-tracing-Add-variable-reference-handling-to-hist-trig.patch
+++ b/patches/0030-tracing-Add-variable-reference-handling-to-hist-trig.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:56 -0600
-Subject: [PATCH 22/37] tracing: Add variable reference handling to hist
+Subject: [PATCH 30/48] tracing: Add variable reference handling to hist
  triggers
 
 Add the necessary infrastructure to allow the variables defined on one
@@ -21,7 +21,11 @@
 patches, such as for instance how the 'wakeup_lat' variable above can
 be displayed in a latency histogram.
 
+Link: http://lkml.kernel.org/r/b1d3e6975374e34d501ff417c20189c3f9b2c7b8.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 434c1d5831194e72e6eb30d46534d75b5a985eb7)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace.c                |    2 
diff --git a/patches/0023-tracing-Add-hist-trigger-action-hook.patch b/patches/0031-tracing-Add-hist-trigger-action-hook.patch
similarity index 94%
rename from patches/0023-tracing-Add-hist-trigger-action-hook.patch
rename to patches/0031-tracing-Add-hist-trigger-action-hook.patch
index 469fdc7..203bf61 100644
--- a/patches/0023-tracing-Add-hist-trigger-action-hook.patch
+++ b/patches/0031-tracing-Add-hist-trigger-action-hook.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:57 -0600
-Subject: [PATCH 23/37] tracing: Add hist trigger action hook
+Subject: [PATCH 31/48] tracing: Add hist trigger action hook
 
 Add a hook for executing extra actions whenever a histogram entry is
 added or updated.
@@ -13,7 +13,11 @@
 Add a simple framework for doing that; specific actions will be
 implemented on top of it in later patches.
 
+Link: http://lkml.kernel.org/r/9482ba6a3eaf5ca6e60954314beacd0e25c05b24.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit b91ae245c2f781e6da0532d8545f51a0f1291cc0)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  106 ++++++++++++++++++++++++++++++++++++++-
diff --git a/patches/0024-tracing-Add-support-for-synthetic-events.patch b/patches/0032-tracing-Add-support-for-synthetic-events.patch
similarity index 98%
rename from patches/0024-tracing-Add-support-for-synthetic-events.patch
rename to patches/0032-tracing-Add-support-for-synthetic-events.patch
index 30d9e50f..1873064 100644
--- a/patches/0024-tracing-Add-support-for-synthetic-events.patch
+++ b/patches/0032-tracing-Add-support-for-synthetic-events.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:58 -0600
-Subject: [PATCH 24/37] tracing: Add support for 'synthetic' events
+Subject: [PATCH 32/48] tracing: Add support for 'synthetic' events
 
 Synthetic events are user-defined events generated from hist trigger
 variables saved from one or more other events.
@@ -44,9 +44,13 @@
 How this can be automatically hooked up via a hist trigger 'action' is
 discussed in a subsequent patch.
 
+Link: http://lkml.kernel.org/r/c68df2284b7d172669daf9be29db62ad49bbc559.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 [fix noderef.cocci warnings, sizeof pointer for kcalloc of event->fields]
 Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit cc9371f8641efd7ce6c8d4e1fd44eae249deadb4)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  895 ++++++++++++++++++++++++++++++++++++++-
diff --git a/patches/0025-tracing-Add-support-for-field-variables.patch b/patches/0033-tracing-Add-support-for-field-variables.patch
similarity index 98%
rename from patches/0025-tracing-Add-support-for-field-variables.patch
rename to patches/0033-tracing-Add-support-for-field-variables.patch
index 9afd0d7..a155f63 100644
--- a/patches/0025-tracing-Add-support-for-field-variables.patch
+++ b/patches/0033-tracing-Add-support-for-field-variables.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:51:59 -0600
-Subject: [PATCH 25/37] tracing: Add support for 'field variables'
+Subject: [PATCH 33/48] tracing: Add support for 'field variables'
 
 Users should be able to directly specify event fields in hist trigger
 'actions' rather than being forced to explicitly create a variable for
@@ -37,7 +37,11 @@
       onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,next_pid,prio)
             >> /sys/kernel/debug/tracing/events/sched/sched_switch/trigger
 
+Link: http://lkml.kernel.org/r/8e8dcdac1ea180ed7a3689e1caeeccede9dc42b3.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 5fcd8c6efab39371cb3ce51b8b391a43e83a94de)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  531 ++++++++++++++++++++++++++++++++++++++-
diff --git a/patches/0026-tracing-Add-onmatch-hist-trigger-action-support.patch b/patches/0034-tracing-Add-onmatch-hist-trigger-action-support.patch
similarity index 98%
rename from patches/0026-tracing-Add-onmatch-hist-trigger-action-support.patch
rename to patches/0034-tracing-Add-onmatch-hist-trigger-action-support.patch
index 12abe5f..04b6a43 100644
--- a/patches/0026-tracing-Add-onmatch-hist-trigger-action-support.patch
+++ b/patches/0034-tracing-Add-onmatch-hist-trigger-action-support.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:00 -0600
-Subject: [PATCH 26/37] tracing: Add 'onmatch' hist trigger action support
+Subject: [PATCH 34/48] tracing: Add 'onmatch' hist trigger action support
 
 Add an 'onmatch(matching.event).<synthetic_event_name>(param list)'
 hist trigger action which is invoked with the set of variables or
@@ -38,8 +38,12 @@
     # echo 'hist:keys=pid,prio:sort=pid,prio' >> \
       /sys/kernel/debug/tracing/events/synthetic/wakeup_new_test/trigger
 
+Link: http://lkml.kernel.org/r/8c2a574bcb7530c876629c901ecd23911b14afe8.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Rajvi Jingar <rajvi.jingar@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit ea82307e63ec125d8612d8cedd2618669f674226)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  488 +++++++++++++++++++++++++++++++++++++--
diff --git a/patches/0027-tracing-Add-onmax-hist-trigger-action-support.patch b/patches/0035-tracing-Add-onmax-hist-trigger-action-support.patch
similarity index 97%
rename from patches/0027-tracing-Add-onmax-hist-trigger-action-support.patch
rename to patches/0035-tracing-Add-onmax-hist-trigger-action-support.patch
index 0c1c436..57f3d28 100644
--- a/patches/0027-tracing-Add-onmax-hist-trigger-action-support.patch
+++ b/patches/0035-tracing-Add-onmax-hist-trigger-action-support.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:01 -0600
-Subject: [PATCH 27/37] tracing: Add 'onmax' hist trigger action support
+Subject: [PATCH 35/48] tracing: Add 'onmax' hist trigger action support
 
 Add an 'onmax(var).save(field,...)' hist trigger action which is
 invoked whenever an event exceeds the current maximum.
@@ -51,7 +51,11 @@
         Entries: 3
 	Dropped: 0
 
+Link: http://lkml.kernel.org/r/006907f71b1e839bb059337ec3c496f84fcb71de.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 4e30c922f0a19496ff424edd5c473666e1690601)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |  331 ++++++++++++++++++++++++++++++++++-----
diff --git a/patches/0035-tracing-Increase-trace_recursive_lock-limit-for-synt.patch b/patches/0035-tracing-Increase-trace_recursive_lock-limit-for-synt.patch
deleted file mode 100644
index fe99b29..0000000
--- a/patches/0035-tracing-Increase-trace_recursive_lock-limit-for-synt.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Tom Zanussi <tom.zanussi@linux.intel.com>
-Date: Mon, 15 Jan 2018 20:52:09 -0600
-Subject: [PATCH 35/37] tracing: Increase trace_recursive_lock() limit for
- synthetic events
-
-Synthetic event generation needs to happen while the current event is
-still in progress, so add 1 to the trace_recursive_lock() recursion
-limit to account for that.
-
-Because we also want to allow for the possibility of a synthetic event
-being generated from another synthetic event, add an additional
-increment for that as well.
-
-Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
----
- kernel/trace/ring_buffer.c |   10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
---- a/kernel/trace/ring_buffer.c
-+++ b/kernel/trace/ring_buffer.c
-@@ -2593,16 +2593,16 @@ rb_wakeups(struct ring_buffer *buffer, s
-  *  IRQ context
-  *  NMI context
-  *
-- * If for some reason the ring buffer starts to recurse, we
-- * only allow that to happen at most 4 times (one for each
-- * context). If it happens 5 times, then we consider this a
-- * recusive loop and do not let it go further.
-+ * If for some reason the ring buffer starts to recurse, we only allow
-+ * that to happen at most 6 times (one for each context, plus possibly
-+ * two levels of synthetic event generation). If it happens 7 times,
-+ * then we consider this a recusive loop and do not let it go further.
-  */
- 
- static __always_inline int
- trace_recursive_lock(struct ring_buffer_per_cpu *cpu_buffer)
- {
--	if (cpu_buffer->current_context >= 4)
-+	if (cpu_buffer->current_context >= 6)
- 		return 1;
- 
- 	cpu_buffer->current_context++;
diff --git a/patches/0028-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch b/patches/0036-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
similarity index 86%
rename from patches/0028-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
rename to patches/0036-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
index 98c93ab..3d306b1 100644
--- a/patches/0028-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
+++ b/patches/0036-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:02 -0600
-Subject: [PATCH 28/37] tracing: Allow whitespace to surround hist trigger
+Subject: [PATCH 36/48] tracing: Allow whitespace to surround hist trigger
  filter
 
 The existing code only allows for one space before and after the 'if'
@@ -10,7 +10,11 @@
 (onmatch/onmax) where spaces are more natural e.g. spaces after commas
 in param lists.
 
+Link: http://lkml.kernel.org/r/1053090c3c308d4f431accdeb59dff4b511d4554.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit ab257ec0f8eb50c58fafd50b1cb5352553f31ccf)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   37 ++++++++++++++++++++++++++++++++-----
diff --git a/patches/0029-tracing-Add-cpu-field-for-hist-triggers.patch b/patches/0037-tracing-Add-cpu-field-for-hist-triggers.patch
similarity index 92%
rename from patches/0029-tracing-Add-cpu-field-for-hist-triggers.patch
rename to patches/0037-tracing-Add-cpu-field-for-hist-triggers.patch
index 170248d..80f1aba 100644
--- a/patches/0029-tracing-Add-cpu-field-for-hist-triggers.patch
+++ b/patches/0037-tracing-Add-cpu-field-for-hist-triggers.patch
@@ -1,11 +1,15 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:03 -0600
-Subject: [PATCH 29/37] tracing: Add cpu field for hist triggers
+Subject: [PATCH 37/48] tracing: Add cpu field for hist triggers
 
 A common key to use in a histogram is the cpuid - add a new cpu
 'synthetic' field named 'cpu' for that purpose.
 
+Link: http://lkml.kernel.org/r/89537645bfc957e0d76e2cacf5f0ada88691a6cc.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 4bfaa88f0e0e98e706d57647452e4d37afd78d00)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |   15 +++++++++++++++
diff --git a/patches/0030-tracing-Add-hist-trigger-support-for-variable-refere.patch b/patches/0038-tracing-Add-hist-trigger-support-for-variable-refere.patch
similarity index 94%
rename from patches/0030-tracing-Add-hist-trigger-support-for-variable-refere.patch
rename to patches/0038-tracing-Add-hist-trigger-support-for-variable-refere.patch
index 816fff8..f1a34d2 100644
--- a/patches/0030-tracing-Add-hist-trigger-support-for-variable-refere.patch
+++ b/patches/0038-tracing-Add-hist-trigger-support-for-variable-refere.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:04 -0600
-Subject: [PATCH 30/37] tracing: Add hist trigger support for variable
+Subject: [PATCH 38/48] tracing: Add hist trigger support for variable
  reference aliases
 
 Add support for alias=$somevar where alias can be used as
@@ -20,7 +20,11 @@
     onmatch(sched.sched_switch).wake2($latency,pid)' >
     /sys/kernel/debug/tracing/events/synthetic/wake1/trigger
 
+Link: http://lkml.kernel.org/r/ef20a65d921af3a873a6f1e8c71407c926d5586f.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 53c5a4f99f1a5f6ba304453716da571f3e51bc79)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace_events_hist.c |   74 +++++++++++++++++++++++++++++++++++----
diff --git a/patches/0031-tracing-Add-last-error-error-facility-for-hist-trigg.patch b/patches/0039-tracing-Add-last-error-error-facility-for-hist-trigg.patch
similarity index 97%
rename from patches/0031-tracing-Add-last-error-error-facility-for-hist-trigg.patch
rename to patches/0039-tracing-Add-last-error-error-facility-for-hist-trigg.patch
index 05b9342..1d99c35 100644
--- a/patches/0031-tracing-Add-last-error-error-facility-for-hist-trigg.patch
+++ b/patches/0039-tracing-Add-last-error-error-facility-for-hist-trigg.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:05 -0600
-Subject: [PATCH 31/37] tracing: Add 'last error' error facility for hist
+Subject: [PATCH 39/48] tracing: Add 'last error' error facility for hist
  triggers
 
 With the addition of variables and actions, it's become necessary to
@@ -22,7 +22,11 @@
 
 Also add specific error messages for variable and action errors.
 
+Link: http://lkml.kernel.org/r/64e9c422fc8aeafcc2f7a3b4328c0cffe7969129.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 215016863b5ec1ee5db5e20f32ffe015a497209f)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |   20 ++++
diff --git a/patches/0032-tracing-Add-inter-event-hist-trigger-Documentation.patch b/patches/0040-tracing-Add-inter-event-hist-trigger-Documentation.patch
similarity index 98%
rename from patches/0032-tracing-Add-inter-event-hist-trigger-Documentation.patch
rename to patches/0040-tracing-Add-inter-event-hist-trigger-Documentation.patch
index b03f868..362cb94 100644
--- a/patches/0032-tracing-Add-inter-event-hist-trigger-Documentation.patch
+++ b/patches/0040-tracing-Add-inter-event-hist-trigger-Documentation.patch
@@ -1,12 +1,16 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:06 -0600
-Subject: [PATCH 32/37] tracing: Add inter-event hist trigger Documentation
+Subject: [PATCH 40/48] tracing: Add inter-event hist trigger Documentation
 
 Add background and details on inter-event hist triggers, including
 hist variables, synthetic events, and actions.
 
+Link: http://lkml.kernel.org/r/b0414efb66535aa52aa7411f58c3d56724027fce.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Baohong Liu <baohong.liu@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 7d5f30af5e39e572f6984c1083fe79fd7dc34d04)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |  381 ++++++++++++++++++++++++++++++++++++++
diff --git a/patches/0033-tracing-Make-tracing_set_clock-non-static.patch b/patches/0041-tracing-Make-tracing_set_clock-non-static.patch
similarity index 80%
rename from patches/0033-tracing-Make-tracing_set_clock-non-static.patch
rename to patches/0041-tracing-Make-tracing_set_clock-non-static.patch
index bd6e979..ac2cbea 100644
--- a/patches/0033-tracing-Make-tracing_set_clock-non-static.patch
+++ b/patches/0041-tracing-Make-tracing_set_clock-non-static.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:07 -0600
-Subject: [PATCH 33/37] tracing: Make tracing_set_clock() non-static
+Subject: [PATCH 41/48] tracing: Make tracing_set_clock() non-static
 
 Allow tracing code outside of trace.c to access tracing_set_clock().
 
@@ -9,7 +9,11 @@
 
 Also, add an accessor returning the current clock string.
 
+Link: http://lkml.kernel.org/r/6d1c53e9ee2163f54e1849f5376573f54f0e6009.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit f8913a56885a33eda24452c1839102c305bf7df5)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/trace.c |    2 +-
diff --git a/patches/0034-tracing-Add-a-clock-attribute-for-hist-triggers.patch b/patches/0042-tracing-Add-a-clock-attribute-for-hist-triggers.patch
similarity index 92%
rename from patches/0034-tracing-Add-a-clock-attribute-for-hist-triggers.patch
rename to patches/0042-tracing-Add-a-clock-attribute-for-hist-triggers.patch
index c88cf85..c91bd41 100644
--- a/patches/0034-tracing-Add-a-clock-attribute-for-hist-triggers.patch
+++ b/patches/0042-tracing-Add-a-clock-attribute-for-hist-triggers.patch
@@ -1,6 +1,6 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:08 -0600
-Subject: [PATCH 34/37] tracing: Add a clock attribute for hist triggers
+Subject: [PATCH 42/48] tracing: Add a clock attribute for hist triggers
 
 The default clock if timestamps are used in a histogram is "global".
 If timestamps aren't used, the clock is irrelevant.
@@ -8,8 +8,12 @@
 Use the "clock=" param only if you want to override the default
 "global" clock for a histogram with timestamps.
 
+Link: http://lkml.kernel.org/r/427bed1389c5d22aa40c3e0683e30cc3d151e260.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
 Signed-off-by: Rajvi Jingar <rajvi.jingar@intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 77e7689e0b182465cfcd7c328061b70eecdcde31)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  Documentation/trace/histogram.txt |   11 +++++++++
diff --git a/patches/0043-ring-buffer-Bring-back-context-level-recursive-check.patch b/patches/0043-ring-buffer-Bring-back-context-level-recursive-check.patch
new file mode 100644
index 0000000..bceb5ee
--- /dev/null
+++ b/patches/0043-ring-buffer-Bring-back-context-level-recursive-check.patch
@@ -0,0 +1,127 @@
+From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
+Date: Mon, 15 Jan 2018 10:47:09 -0500
+Subject: [PATCH 43/48] ring-buffer: Bring back context level recursive checks
+
+Commit 1a149d7d3f45 ("ring-buffer: Rewrite trace_recursive_(un)lock() to be
+simpler") replaced the context level recursion checks with a simple counter.
+This would prevent the ring buffer code from recursively calling itself more
+than the max number of contexts that exist (Normal, softirq, irq, nmi). But
+this change caused a lockup in a specific case, which was during suspend and
+resume using a global clock. Adding a stack dump to see where this occurred,
+the issue was in the trace global clock itself:
+
+  trace_buffer_lock_reserve+0x1c/0x50
+  __trace_graph_entry+0x2d/0x90
+  trace_graph_entry+0xe8/0x200
+  prepare_ftrace_return+0x69/0xc0
+  ftrace_graph_caller+0x78/0xa8
+  queued_spin_lock_slowpath+0x5/0x1d0
+  trace_clock_global+0xb0/0xc0
+  ring_buffer_lock_reserve+0xf9/0x390
+
+The function graph tracer traced queued_spin_lock_slowpath that was called
+by trace_clock_global. This pointed out that the trace_clock_global() is not
+reentrant, as it takes a spin lock. It depended on the ring buffer recursive
+lock from letting that happen.
+
+By removing the context detection and adding just a max number of allowable
+recursions, it allowed the trace_clock_global() to be entered again and try
+to retake the spinlock it already held, causing a deadlock.
+
+Fixes: 1a149d7d3f45 ("ring-buffer: Rewrite trace_recursive_(un)lock() to be simpler")
+Reported-by: David Weinehall <david.weinehall@gmail.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit a0e3a18f4baf8e3754ac1e56f0ade924d0c0c721)
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/trace/ring_buffer.c |   64 ++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 46 insertions(+), 18 deletions(-)
+
+--- a/kernel/trace/ring_buffer.c
++++ b/kernel/trace/ring_buffer.c
+@@ -2585,29 +2585,59 @@ rb_wakeups(struct ring_buffer *buffer, s
+  * The lock and unlock are done within a preempt disable section.
+  * The current_context per_cpu variable can only be modified
+  * by the current task between lock and unlock. But it can
+- * be modified more than once via an interrupt. There are four
+- * different contexts that we need to consider.
++ * be modified more than once via an interrupt. To pass this
++ * information from the lock to the unlock without having to
++ * access the 'in_interrupt()' functions again (which do show
++ * a bit of overhead in something as critical as function tracing,
++ * we use a bitmask trick.
+  *
+- *  Normal context.
+- *  SoftIRQ context
+- *  IRQ context
+- *  NMI context
+- *
+- * If for some reason the ring buffer starts to recurse, we
+- * only allow that to happen at most 4 times (one for each
+- * context). If it happens 5 times, then we consider this a
+- * recusive loop and do not let it go further.
++ *  bit 0 =  NMI context
++ *  bit 1 =  IRQ context
++ *  bit 2 =  SoftIRQ context
++ *  bit 3 =  normal context.
++ *
++ * This works because this is the order of contexts that can
++ * preempt other contexts. A SoftIRQ never preempts an IRQ
++ * context.
++ *
++ * When the context is determined, the corresponding bit is
++ * checked and set (if it was set, then a recursion of that context
++ * happened).
++ *
++ * On unlock, we need to clear this bit. To do so, just subtract
++ * 1 from the current_context and AND it to itself.
++ *
++ * (binary)
++ *  101 - 1 = 100
++ *  101 & 100 = 100 (clearing bit zero)
++ *
++ *  1010 - 1 = 1001
++ *  1010 & 1001 = 1000 (clearing bit 1)
++ *
++ * The least significant bit can be cleared this way, and it
++ * just so happens that it is the same bit corresponding to
++ * the current context.
+  */
+ 
+ static __always_inline int
+ trace_recursive_lock(struct ring_buffer_per_cpu *cpu_buffer)
+ {
+-	if (cpu_buffer->current_context >= 4)
++	unsigned int val = cpu_buffer->current_context;
++	unsigned long pc = preempt_count();
++	int bit;
++
++	if (!(pc & (NMI_MASK | HARDIRQ_MASK | SOFTIRQ_OFFSET)))
++		bit = RB_CTX_NORMAL;
++	else
++		bit = pc & NMI_MASK ? RB_CTX_NMI :
++			pc & HARDIRQ_MASK ? RB_CTX_IRQ :
++			pc & SOFTIRQ_OFFSET ? 2 : RB_CTX_SOFTIRQ;
++
++	if (unlikely(val & (1 << bit)))
+ 		return 1;
+ 
+-	cpu_buffer->current_context++;
+-	/* Interrupts must see this update */
+-	barrier();
++	val |= (1 << bit);
++	cpu_buffer->current_context = val;
+ 
+ 	return 0;
+ }
+@@ -2615,9 +2645,7 @@ trace_recursive_lock(struct ring_buffer_
+ static __always_inline void
+ trace_recursive_unlock(struct ring_buffer_per_cpu *cpu_buffer)
+ {
+-	/* Don't let the dec leak out */
+-	barrier();
+-	cpu_buffer->current_context--;
++	cpu_buffer->current_context &= cpu_buffer->current_context - 1;
+ }
+ 
+ /**
diff --git a/patches/0044-ring-buffer-Fix-duplicate-results-in-mapping-context.patch b/patches/0044-ring-buffer-Fix-duplicate-results-in-mapping-context.patch
new file mode 100644
index 0000000..c9ee7e0
--- /dev/null
+++ b/patches/0044-ring-buffer-Fix-duplicate-results-in-mapping-context.patch
@@ -0,0 +1,36 @@
+From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
+Date: Thu, 18 Jan 2018 15:42:09 -0500
+Subject: [PATCH 44/48] ring-buffer: Fix duplicate results in mapping context
+ to bits in recursive lock
+
+In bringing back the context checks, the code checks first if its normal
+(non-interrupt) context, and then for NMI then IRQ then softirq. The final
+check is redundant. Since the if branch is only hit if the context is one of
+NMI, IRQ, or SOFTIRQ, if it's not NMI or IRQ there's no reason to check if
+it is SOFTIRQ. The current code returns the same result even if its not a
+SOFTIRQ. Which is confusing.
+
+  pc & SOFTIRQ_OFFSET ? 2 : RB_CTX_SOFTIRQ
+
+Is redundant as RB_CTX_SOFTIRQ *is* 2!
+
+Fixes: a0e3a18f4baf ("ring-buffer: Bring back context level recursive checks")
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 0164e0d7e803af3ee1c63770978c728f8778ad01)
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/trace/ring_buffer.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/kernel/trace/ring_buffer.c
++++ b/kernel/trace/ring_buffer.c
+@@ -2630,8 +2630,7 @@ trace_recursive_lock(struct ring_buffer_
+ 		bit = RB_CTX_NORMAL;
+ 	else
+ 		bit = pc & NMI_MASK ? RB_CTX_NMI :
+-			pc & HARDIRQ_MASK ? RB_CTX_IRQ :
+-			pc & SOFTIRQ_OFFSET ? 2 : RB_CTX_SOFTIRQ;
++			pc & HARDIRQ_MASK ? RB_CTX_IRQ : RB_CTX_SOFTIRQ;
+ 
+ 	if (unlikely(val & (1 << bit)))
+ 		return 1;
diff --git a/patches/0045-ring-buffer-Add-nesting-for-adding-events-within-eve.patch b/patches/0045-ring-buffer-Add-nesting-for-adding-events-within-eve.patch
new file mode 100644
index 0000000..d7b349e
--- /dev/null
+++ b/patches/0045-ring-buffer-Add-nesting-for-adding-events-within-eve.patch
@@ -0,0 +1,119 @@
+From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
+Date: Wed, 7 Feb 2018 17:26:32 -0500
+Subject: [PATCH 45/48] ring-buffer: Add nesting for adding events within
+ events
+
+The ring-buffer code has recusion protection in case tracing ends up tracing
+itself, the ring-buffer will detect that it was called at the same context
+(normal, softirq, interrupt or NMI), and not continue to record the event.
+
+With the histogram synthetic events, they are called while tracing another
+event at the same context. The recusion protection triggers because it
+detects tracing at the same context and stops it.
+
+Add ring_buffer_nest_start() and ring_buffer_nest_end() that will notify the
+ring buffer that a trace is about to happen within another trace and that it
+is intended, and not to trigger the recursion blocking.
+
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit f932ff1d98c482716b4b71a5d76b2aa3d65f66f0)
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ include/linux/ring_buffer.h |    3 ++
+ kernel/trace/ring_buffer.c  |   57 +++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 57 insertions(+), 3 deletions(-)
+
+--- a/include/linux/ring_buffer.h
++++ b/include/linux/ring_buffer.h
+@@ -120,6 +120,9 @@ int ring_buffer_unlock_commit(struct rin
+ int ring_buffer_write(struct ring_buffer *buffer,
+ 		      unsigned long length, void *data);
+ 
++void ring_buffer_nest_start(struct ring_buffer *buffer);
++void ring_buffer_nest_end(struct ring_buffer *buffer);
++
+ struct ring_buffer_event *
+ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts,
+ 		 unsigned long *lost_events);
+--- a/kernel/trace/ring_buffer.c
++++ b/kernel/trace/ring_buffer.c
+@@ -478,6 +478,7 @@ struct ring_buffer_per_cpu {
+ 	struct buffer_page		*reader_page;
+ 	unsigned long			lost_events;
+ 	unsigned long			last_overrun;
++	unsigned long			nest;
+ 	local_t				entries_bytes;
+ 	local_t				entries;
+ 	local_t				overrun;
+@@ -2632,10 +2633,10 @@ trace_recursive_lock(struct ring_buffer_
+ 		bit = pc & NMI_MASK ? RB_CTX_NMI :
+ 			pc & HARDIRQ_MASK ? RB_CTX_IRQ : RB_CTX_SOFTIRQ;
+ 
+-	if (unlikely(val & (1 << bit)))
++	if (unlikely(val & (1 << (bit + cpu_buffer->nest))))
+ 		return 1;
+ 
+-	val |= (1 << bit);
++	val |= (1 << (bit + cpu_buffer->nest));
+ 	cpu_buffer->current_context = val;
+ 
+ 	return 0;
+@@ -2644,7 +2645,57 @@ trace_recursive_lock(struct ring_buffer_
+ static __always_inline void
+ trace_recursive_unlock(struct ring_buffer_per_cpu *cpu_buffer)
+ {
+-	cpu_buffer->current_context &= cpu_buffer->current_context - 1;
++	cpu_buffer->current_context &=
++		cpu_buffer->current_context - (1 << cpu_buffer->nest);
++}
++
++/* The recursive locking above uses 4 bits */
++#define NESTED_BITS 4
++
++/**
++ * ring_buffer_nest_start - Allow to trace while nested
++ * @buffer: The ring buffer to modify
++ *
++ * The ring buffer has a safty mechanism to prevent recursion.
++ * But there may be a case where a trace needs to be done while
++ * tracing something else. In this case, calling this function
++ * will allow this function to nest within a currently active
++ * ring_buffer_lock_reserve().
++ *
++ * Call this function before calling another ring_buffer_lock_reserve() and
++ * call ring_buffer_nest_end() after the nested ring_buffer_unlock_commit().
++ */
++void ring_buffer_nest_start(struct ring_buffer *buffer)
++{
++	struct ring_buffer_per_cpu *cpu_buffer;
++	int cpu;
++
++	/* Enabled by ring_buffer_nest_end() */
++	preempt_disable_notrace();
++	cpu = raw_smp_processor_id();
++	cpu_buffer = buffer->buffers[cpu];
++	/* This is the shift value for the above recusive locking */
++	cpu_buffer->nest += NESTED_BITS;
++}
++
++/**
++ * ring_buffer_nest_end - Allow to trace while nested
++ * @buffer: The ring buffer to modify
++ *
++ * Must be called after ring_buffer_nest_start() and after the
++ * ring_buffer_unlock_commit().
++ */
++void ring_buffer_nest_end(struct ring_buffer *buffer)
++{
++	struct ring_buffer_per_cpu *cpu_buffer;
++	int cpu;
++
++	/* disabled by ring_buffer_nest_start() */
++	cpu = raw_smp_processor_id();
++	cpu_buffer = buffer->buffers[cpu];
++	/* This is the shift value for the above recusive locking */
++	cpu_buffer->nest -= NESTED_BITS;
++	preempt_enable_notrace();
+ }
+ 
+ /**
diff --git a/patches/0046-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch b/patches/0046-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch
new file mode 100644
index 0000000..006fb2a
--- /dev/null
+++ b/patches/0046-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch
@@ -0,0 +1,54 @@
+From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
+Date: Wed, 7 Feb 2018 17:29:46 -0500
+Subject: [PATCH 46/48] tracing: Use the ring-buffer nesting to allow synthetic
+ events to be traced
+
+Synthetic events can be done within the recording of other events. Notify
+the ring buffer via ring_buffer_nest_start() and ring_buffer_nest_end() that
+this is intended and not to block it due to its recursion protection.
+
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 92c571543120ffed5e725f5b57b9de0b535e9d0a)
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/trace/trace_events_hist.c |   12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+--- a/kernel/trace/trace_events_hist.c
++++ b/kernel/trace/trace_events_hist.c
+@@ -640,6 +640,7 @@ static notrace void trace_event_raw_even
+ 	struct trace_event_file *trace_file = __data;
+ 	struct synth_trace_event *entry;
+ 	struct trace_event_buffer fbuffer;
++	struct ring_buffer *buffer;
+ 	struct synth_event *event;
+ 	unsigned int i, n_u64;
+ 	int fields_size = 0;
+@@ -651,10 +652,17 @@ static notrace void trace_event_raw_even
+ 
+ 	fields_size = event->n_u64 * sizeof(u64);
+ 
++	/*
++	 * Avoid ring buffer recursion detection, as this event
++	 * is being performed within another event.
++	 */
++	buffer = trace_file->tr->trace_buffer.buffer;
++	ring_buffer_nest_start(buffer);
++
+ 	entry = trace_event_buffer_reserve(&fbuffer, trace_file,
+ 					   sizeof(*entry) + fields_size);
+ 	if (!entry)
+-		return;
++		goto out;
+ 
+ 	for (i = 0, n_u64 = 0; i < event->n_fields; i++) {
+ 		if (event->fields[i]->is_string) {
+@@ -670,6 +678,8 @@ static notrace void trace_event_raw_even
+ 	}
+ 
+ 	trace_event_buffer_commit(&fbuffer);
++out:
++	ring_buffer_nest_end(buffer);
+ }
+ 
+ static void free_synth_event_print_fmt(struct trace_event_call *call)
diff --git a/patches/0036-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch b/patches/0047-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
similarity index 74%
rename from patches/0036-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
rename to patches/0047-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
index be3540a..77f9db7 100644
--- a/patches/0036-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
+++ b/patches/0047-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
@@ -1,13 +1,17 @@
 From: Tom Zanussi <tom.zanussi@linux.intel.com>
 Date: Mon, 15 Jan 2018 20:52:10 -0600
-Subject: [PATCH 36/37] tracing: Add inter-event blurb to HIST_TRIGGERS config
+Subject: [PATCH 47/48] tracing: Add inter-event blurb to HIST_TRIGGERS config
  option
 
 So that users know that inter-event tracing is supported as part of
 the HIST_TRIGGERS option, include text to that effect in the help
 text.
 
+Link: http://lkml.kernel.org/r/a38e24231d8d980be636b56d35814570acfd167a.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit 02942764c4fd12caeb29868822b7744fa91a9ad0)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  kernel/trace/Kconfig |    5 ++++-
diff --git a/patches/0037-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch b/patches/0048-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
similarity index 97%
rename from patches/0037-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
rename to patches/0048-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
index 616de05..98ac79d 100644
--- a/patches/0037-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
+++ b/patches/0048-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
@@ -1,6 +1,6 @@
 From: Rajvi Jingar <rajvi.jingar@intel.com>
 Date: Mon, 15 Jan 2018 20:52:11 -0600
-Subject: [PATCH 37/37] selftests: ftrace: Add inter-event hist triggers
+Subject: [PATCH 48/48] selftests: ftrace: Add inter-event hist triggers
  testcases
 
     This adds inter-event hist triggers testcases which covers following:
@@ -25,8 +25,12 @@
     [6] event trigger - test inter-event histogram trigger onmax action     [PASS]
     [7] event trigger - test synthetic event create remove  [PASS]
 
+Link: http://lkml.kernel.org/r/e07ef1e72f7bf0f84dc87c9b736d6dc91b4b0b49.1516069914.git.tom.zanussi@linux.intel.com
+
 Signed-off-by: Rajvi Jingar <rajvi.jingar@intel.com>
 Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+(cherry picked from commit fb08b656dc9caee4a097bc4d8e050e2ead59bc24)
 Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
 ---
  tools/testing/selftests/ftrace/test.d/functions                                                   |    7 +
diff --git a/patches/brd-remove-unused-brd_mutex.patch b/patches/brd-remove-unused-brd_mutex.patch
new file mode 100644
index 0000000..ff9f705
--- /dev/null
+++ b/patches/brd-remove-unused-brd_mutex.patch
@@ -0,0 +1,26 @@
+From: Mikulas Patocka <mpatocka@redhat.com>
+Date: Fri, 10 Nov 2017 12:29:34 -0500
+Subject: [PATCH] brd: remove unused brd_mutex
+
+Upstream commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e
+
+Remove unused mutex brd_mutex. It is unused since the commit ff26956875c2
+("brd: remove support for BLKFLSBUF").
+
+Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ drivers/block/brd.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/block/brd.c
++++ b/drivers/block/brd.c
+@@ -60,7 +60,6 @@ struct brd_device {
+ /*
+  * Look up and return a brd's page for a given sector.
+  */
+-static DEFINE_MUTEX(brd_mutex);
+ static struct page *brd_lookup_page(struct brd_device *brd, sector_t sector)
+ {
+ 	pgoff_t idx;
diff --git a/patches/localversion.patch b/patches/localversion.patch
index e1f3b8d..340816c 100644
--- a/patches/localversion.patch
+++ b/patches/localversion.patch
@@ -10,4 +10,4 @@
 --- /dev/null
 +++ b/localversion-rt
 @@ -0,0 +1 @@
-+-rt14
++-rt15
diff --git a/patches/series b/patches/series
index 63f164b..04f63ba 100644
--- a/patches/series
+++ b/patches/series
@@ -6,6 +6,7 @@
 # UPSTREAM changes queued
 ############################################################
 rcu-Suppress-lockdep-false-positive-boost_mtx-compla.patch
+brd-remove-unused-brd_mutex.patch
 
 ############################################################
 # UPSTREAM FIXES, patches pending
@@ -122,53 +123,56 @@
 kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch
 add_migrate_disable.patch
 
-# tracing: Bug fixes and minor cleanup | 2017-09-22
-0001-tracing-Steve-s-unofficial-trace_recursive_lock-patc.patch
-0002-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
-0004-tracing-Remove-lookups-from-tracing_map-hitcount.patch
-0005-tracing-Increase-tracing-map-KEYS_MAX-size.patch
-0006-tracing-Make-traceprobe-parsing-code-reusable.patch
-0007-tracing-Clean-up-hist_field_flags-enum.patch
-0008-tracing-Add-hist_field_name-accessor.patch
-0009-tracing-Reimplement-log2.patch
-# v7 tracing: Inter-event (e.g. latency) support | 2017-12-06
-0001-tracing-Move-hist-trigger-Documentation-to-histogram.patch
-0002-tracing-Add-Documentation-for-log2-modifier.patch
-0003-tracing-Add-support-to-detect-and-avoid-duplicates.patch
-0004-tracing-Remove-code-which-merges-duplicates.patch
-0005-ring-buffer-Add-interface-for-setting-absolute-time-.patch
-0006-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
-0007-tracing-Add-timestamp_mode-trace-file.patch
-0008-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
-0009-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
-0010-tracing-Break-out-hist-trigger-assignment-parsing.patch
-0011-tracing-Add-hist-trigger-timestamp-support.patch
-0012-tracing-Add-per-element-variable-support-to-tracing_.patch
-0013-tracing-Add-hist_data-member-to-hist_field.patch
-0014-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
-0015-tracing-Add-variable-support-to-hist-triggers.patch
-0016-tracing-Account-for-variables-in-named-trigger-compa.patch
-0017-tracing-Move-get_hist_field_flags.patch
-0018-tracing-Add-simple-expression-support-to-hist-trigge.patch
-0019-tracing-Generalize-per-element-hist-trigger-data.patch
-0020-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
-0021-tracing-Add-hist_field-type-field.patch
-0022-tracing-Add-variable-reference-handling-to-hist-trig.patch
-0023-tracing-Add-hist-trigger-action-hook.patch
-0024-tracing-Add-support-for-synthetic-events.patch
-0025-tracing-Add-support-for-field-variables.patch
-0026-tracing-Add-onmatch-hist-trigger-action-support.patch
-0027-tracing-Add-onmax-hist-trigger-action-support.patch
-0028-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
-0029-tracing-Add-cpu-field-for-hist-triggers.patch
-0030-tracing-Add-hist-trigger-support-for-variable-refere.patch
-0031-tracing-Add-last-error-error-facility-for-hist-trigg.patch
-0032-tracing-Add-inter-event-hist-trigger-Documentation.patch
-0033-tracing-Make-tracing_set_clock-non-static.patch
-0034-tracing-Add-a-clock-attribute-for-hist-triggers.patch
-0035-tracing-Increase-trace_recursive_lock-limit-for-synt.patch
-0036-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
-0037-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
+# tracing: Inter-event (e.g. latency) support
+# cherry-picked from Steven's tracing tree.
+0001-tracing-Reverse-the-order-of-trace_types_lock-and-ev.patch
+0002-ring-buffer-Rewrite-trace_recursive_-un-lock-to-be-s.patch
+0003-tracing-Remove-lookups-from-tracing_map-hitcount.patch
+0004-tracing-Increase-tracing-map-KEYS_MAX-size.patch
+0005-tracing-Make-traceprobe-parsing-code-reusable.patch
+0006-tracing-Clean-up-hist_field_flags-enum.patch
+0007-tracing-Add-hist_field_name-accessor.patch
+0008-tracing-Reimplement-log2.patch
+0009-tracing-Move-hist-trigger-Documentation-to-histogram.patch
+0010-tracing-Add-Documentation-for-log2-modifier.patch
+0011-tracing-Add-support-to-detect-and-avoid-duplicates.patch
+0012-tracing-Remove-code-which-merges-duplicates.patch
+0013-ring-buffer-Add-interface-for-setting-absolute-time-.patch
+0014-ring-buffer-Redefine-the-unimplemented-RINGBUF_TYPE_.patch
+0015-tracing-Add-timestamp_mode-trace-file.patch
+0016-tracing-Give-event-triggers-access-to-ring_buffer_ev.patch
+0017-tracing-Add-ring-buffer-event-param-to-hist-field-fu.patch
+0018-tracing-Break-out-hist-trigger-assignment-parsing.patch
+0019-tracing-Add-hist-trigger-timestamp-support.patch
+0020-tracing-Add-per-element-variable-support-to-tracing_.patch
+0021-tracing-Add-hist_data-member-to-hist_field.patch
+0022-tracing-Add-usecs-modifier-for-hist-trigger-timestam.patch
+0023-tracing-Add-variable-support-to-hist-triggers.patch
+0024-tracing-Account-for-variables-in-named-trigger-compa.patch
+0025-tracing-Move-get_hist_field_flags.patch
+0026-tracing-Add-simple-expression-support-to-hist-trigge.patch
+0027-tracing-Generalize-per-element-hist-trigger-data.patch
+0028-tracing-Pass-tracing_map_elt-to-hist_field-accessor-.patch
+0029-tracing-Add-hist_field-type-field.patch
+0030-tracing-Add-variable-reference-handling-to-hist-trig.patch
+0031-tracing-Add-hist-trigger-action-hook.patch
+0032-tracing-Add-support-for-synthetic-events.patch
+0033-tracing-Add-support-for-field-variables.patch
+0034-tracing-Add-onmatch-hist-trigger-action-support.patch
+0035-tracing-Add-onmax-hist-trigger-action-support.patch
+0036-tracing-Allow-whitespace-to-surround-hist-trigger-fi.patch
+0037-tracing-Add-cpu-field-for-hist-triggers.patch
+0038-tracing-Add-hist-trigger-support-for-variable-refere.patch
+0039-tracing-Add-last-error-error-facility-for-hist-trigg.patch
+0040-tracing-Add-inter-event-hist-trigger-Documentation.patch
+0041-tracing-Make-tracing_set_clock-non-static.patch
+0042-tracing-Add-a-clock-attribute-for-hist-triggers.patch
+0043-ring-buffer-Bring-back-context-level-recursive-check.patch
+0044-ring-buffer-Fix-duplicate-results-in-mapping-context.patch
+0045-ring-buffer-Add-nesting-for-adding-events-within-eve.patch
+0046-tracing-Use-the-ring-buffer-nesting-to-allow-synthet.patch
+0047-tracing-Add-inter-event-blurb-to-HIST_TRIGGERS-confi.patch
+0048-selftests-ftrace-Add-inter-event-hist-triggers-testc.patch
 
 # SCHED BLOCK/WQ
 block-shorten-interrupt-disabled-regions.patch