Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1444761 > unrolled thread

[for-next][PATCH 0/7] tracing: Some last updates for 4.8

Started bySteven Rostedt <rostedt@goodmis.org>
First post2016-07-16 09:20 +0200
Last post2016-07-16 09:20 +0200
Articles 5 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [for-next][PATCH 0/7] tracing: Some last updates for 4.8 Steven Rostedt <rostedt@goodmis.org> - 2016-07-16 09:20 +0200
    [for-next][PATCH 5/7] tracing, RAS: Cleanup on __get_str() usage Steven Rostedt <rostedt@goodmis.org> - 2016-07-16 09:20 +0200
    [for-next][PATCH 2/7] tracing: Have HIST_TRIGGERS select TRACING Steven Rostedt <rostedt@goodmis.org> - 2016-07-16 09:20 +0200
    [for-next][PATCH 4/7] tracing: Use outer () on __get_str() definition Steven Rostedt <rostedt@goodmis.org> - 2016-07-16 09:20 +0200
    [for-next][PATCH 7/7] printk, tracing: Avoiding unneeded blank lines Steven Rostedt <rostedt@goodmis.org> - 2016-07-16 09:20 +0200

#1444761 — [for-next][PATCH 0/7] tracing: Some last updates for 4.8

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-16 09:20 +0200
Subject[for-next][PATCH 0/7] tracing: Some last updates for 4.8
Message-ID<rVs3f-OY-3@gated-at.bofh.it>
  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next

Head SHA1: 78aebca2c955c1c5aeb48e12645e13fe3c3461f2


Daniel Bristot de Oliveira (4):
      tracing: Use outer () on __get_str() definition
      tracing, RAS: Cleanup on __get_str() usage
      tracing: Use __get_str() when manipulating strings
      printk, tracing: Avoiding unneeded blank lines

Namhyung Kim (1):
      ftrace: Reduce size of function graph entries

Tom Zanussi (1):
      tracing: Have HIST_TRIGGERS select TRACING

Wei Yongjun (1):
      tracing: Using for_each_set_bit() to simplify trace_pid_write()

----
 fs/nfs/nfs4trace.h            |  4 ++--
 fs/nfs/nfstrace.h             |  4 ++--
 include/linux/ftrace.h        | 12 ++++++++----
 include/ras/ras_event.h       |  4 ++--
 include/trace/events/printk.h | 12 ++++++++++--
 include/trace/perf.h          |  2 +-
 include/trace/trace_events.h  |  2 +-
 kernel/trace/Kconfig          |  1 +
 kernel/trace/trace.c          |  8 ++------
 kernel/trace/trace.h          | 11 +++++++++++
 kernel/trace/trace_entries.h  |  4 ++--
 11 files changed, 42 insertions(+), 22 deletions(-)

[toc] | [next] | [standalone]


#1444762 — [for-next][PATCH 5/7] tracing, RAS: Cleanup on __get_str() usage

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-16 09:20 +0200
Subject[for-next][PATCH 5/7] tracing, RAS: Cleanup on __get_str() usage
Message-ID<rVs3f-OY-9@gated-at.bofh.it>
In reply to#1444761
From: Daniel Bristot de Oliveira <bristot@redhat.com>

__get_str(msg) does not need (char *) operator overloading to access
mgs's elements anymore. This patch substitutes
((char *)__get_str(msg))[0] usage to __get_str(msg)[0].

It is just a code cleanup, no changes on tracepoint ABI.

Link: http://lkml.kernel.org/r/6f2db5be7705da2cb483923320c91283d7c712a7.1467407618.git.bristot@redhat.com

Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>
Cc: Ingo Molnar <mingo@redhat.com>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 include/ras/ras_event.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h
index 1443d79e4fe6..1791a12cfa85 100644
--- a/include/ras/ras_event.h
+++ b/include/ras/ras_event.h
@@ -147,7 +147,7 @@ TRACE_EVENT(mc_event,
 		  __entry->error_count,
 		  mc_event_error_type(__entry->error_type),
 		  __entry->error_count > 1 ? "s" : "",
-		  ((char *)__get_str(msg))[0] ? " " : "",
+		  __get_str(msg)[0] ? " " : "",
 		  __get_str(msg),
 		  __get_str(label),
 		  __entry->mc_index,
@@ -157,7 +157,7 @@ TRACE_EVENT(mc_event,
 		  __entry->address,
 		  1 << __entry->grain_bits,
 		  __entry->syndrome,
-		  ((char *)__get_str(driver_detail))[0] ? " " : "",
+		  __get_str(driver_detail)[0] ? " " : "",
 		  __get_str(driver_detail))
 );
 
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1444763 — [for-next][PATCH 2/7] tracing: Have HIST_TRIGGERS select TRACING

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-16 09:20 +0200
Subject[for-next][PATCH 2/7] tracing: Have HIST_TRIGGERS select TRACING
Message-ID<rVs3f-OY-17@gated-at.bofh.it>
In reply to#1444761
From: Tom Zanussi <tom.zanussi@linux.intel.com>

The kbuild test robot reported a compile error if HIST_TRIGGERS was
enabled but nothing else that selected TRACING was configured in.

HIST_TRIGGERS should directly select it and not rely on anything else
to do it.

Link: http://lkml.kernel.org/r/57791866.8080505@linux.intel.com

Reported-by: kbuild test robot <fennguang.wu@intel.com>
Fixes: 7ef224d1d0e3a ("tracing: Add 'hist' event trigger command")
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index fafeaf803bd0..f4b86e8ca1e7 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -542,6 +542,7 @@ config HIST_TRIGGERS
 	bool "Histogram triggers"
 	depends on ARCH_HAVE_NMI_SAFE_CMPXCHG
 	select TRACING_MAP
+	select TRACING
 	default n
 	help
 	  Hist triggers allow one or more arbitrary trace event fields
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1444764 — [for-next][PATCH 4/7] tracing: Use outer () on __get_str() definition

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-16 09:20 +0200
Subject[for-next][PATCH 4/7] tracing: Use outer () on __get_str() definition
Message-ID<rVs3f-OY-15@gated-at.bofh.it>
In reply to#1444761
From: Daniel Bristot de Oliveira <bristot@redhat.com>

__get_str(str)'s definition includes a (char *) operator
overloading that is not protected with outer ().

This patch adds () around __get_str()'s definition, enabling
some code cleanup.

Link: http://lkml.kernel.org/r/20ac1a10c2ec4ccd23e4a8ef34101fb6e4157d37.1467407618.git.bristot@redhat.com

Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>
Cc: Ingo Molnar <mingo@redhat.com>
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 include/trace/perf.h         | 2 +-
 include/trace/trace_events.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/trace/perf.h b/include/trace/perf.h
index 88de5c205e86..04fe68bbe767 100644
--- a/include/trace/perf.h
+++ b/include/trace/perf.h
@@ -15,7 +15,7 @@
 		((__entry->__data_loc_##field >> 16) & 0xffff)
 
 #undef __get_str
-#define __get_str(field) (char *)__get_dynamic_array(field)
+#define __get_str(field) ((char *)__get_dynamic_array(field))
 
 #undef __get_bitmask
 #define __get_bitmask(field) (char *)__get_dynamic_array(field)
diff --git a/include/trace/trace_events.h b/include/trace/trace_events.h
index 80679a9fae65..467e12f780d8 100644
--- a/include/trace/trace_events.h
+++ b/include/trace/trace_events.h
@@ -256,7 +256,7 @@ TRACE_MAKE_SYSTEM_STR();
 		((__entry->__data_loc_##field >> 16) & 0xffff)
 
 #undef __get_str
-#define __get_str(field) (char *)__get_dynamic_array(field)
+#define __get_str(field) ((char *)__get_dynamic_array(field))
 
 #undef __get_bitmask
 #define __get_bitmask(field)						\
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1444765 — [for-next][PATCH 7/7] printk, tracing: Avoiding unneeded blank lines

FromSteven Rostedt <rostedt@goodmis.org>
Date2016-07-16 09:20 +0200
Subject[for-next][PATCH 7/7] printk, tracing: Avoiding unneeded blank lines
Message-ID<rVs3f-OY-13@gated-at.bofh.it>
In reply to#1444761
From: Daniel Bristot de Oliveira <bristot@redhat.com>

Printk messages often finish with '\n' to cause a new line.
But as each tracepoint is already printed in a new line,
printk messages that finish with '\n' ends up adding a blank
line to the trace output. For example:

     kworker/0:1-86    [000] d...    46.006949: console: [   46.006946] usb 1-3: USB disconnect, device number 3

     kworker/2:2-374   [002] d...    48.699342: console: [   48.699339] usb 1-3: new high-speed USB device number 4 using ehci-pci

     kworker/2:2-374   [002] d...    49.041450: console: [   49.041448] usb 1-3: New USB device found, idVendor=5986, idProduct=0

To avoid unneeded blank lines, this patch checks if the printk
message finishes with '\n', if so, it cut is off the '\n' to
avoid blank lines.

In a patched kernel, the same messages are printed without
extra blank lines. For example:

     kworker/0:4-185   [000] d...    23.641738: console: [   23.641736] usb 1-3: USB disconnect, device number 3
     kworker/0:4-185   [000] d...    24.918703: console: [   24.918700] usb 1-3: new high-speed USB device number 4 using ehci-pci
     kworker/0:4-185   [000] d...    25.228308: console: [   25.228306] usb 1-3: New USB device found, idVendor=5986, idProduct=02d5

Link: http://lkml.kernel.org/r/c350fb2521baaf681a1b4d67981ca0e900108e8e.1467407618.git.bristot@redhat.com

Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>
Cc: Ingo Molnar <mingo@redhat.com>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 include/trace/events/printk.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/trace/events/printk.h b/include/trace/events/printk.h
index 542a7558154a..f350170059c6 100644
--- a/include/trace/events/printk.h
+++ b/include/trace/events/printk.h
@@ -16,6 +16,14 @@ TRACE_EVENT(console,
 	),
 
 	TP_fast_assign(
+		/*
+		 * Each trace entry is printed in a new line.
+		 * If the msg finishes with '\n', cut it off
+		 * to avoid blank lines in the trace.
+		 */
+		if ((len > 0) && (text[len-1] == '\n'))
+			len -= 1;
+
 		memcpy(__get_str(msg), text, len);
 		__get_str(msg)[len] = 0;
 	),
-- 
2.8.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web