All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RT 0/5] Linux 4.14.40-rt31-rc1
@ 2018-05-16 13:36 Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 1/5] tracing: Add field modifier parsing hist error for hist triggers Steven Rostedt
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi


Dear RT Folks,

This is the RT stable review cycle of patch 4.14.40-rt31-rc1.

This only includes patches that are in mainline that fix the new
histogram trigger code. This also needs to be applied to 4.16-rt
before I release this into 4.14-rt.

Please scream at me if I messed something up. Please test the patches too.

The -rc release will be uploaded to kernel.org and will be deleted when
the final release is out. This is just a review release (or release candidate).

The pre-releases will not be pushed to the git repository, only the
final release is.

If all goes well, this patch will be converted to the next main release
on 5/22/2018.

Enjoy,

-- Steve


To build 4.14.40-rt31-rc1 directly, the following patches should be applied:

  http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.tar.xz

  http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.14.40.xz

  http://www.kernel.org/pub/linux/kernel/projects/rt/4.14/patch-4.14.40-rt31-rc1.patch.xz

You can also build from 4.14.40-rt30 by applying the incremental patch:

http://www.kernel.org/pub/linux/kernel/projects/rt/4.14/incr/patch-4.14.40-rt30-rt31-rc1.patch.xz


Changes from 4.14.40-rt30:

---


Dan Carpenter (1):
      tracing: Uninitialized variable in create_tracing_map_fields()

Steven Rostedt (VMware) (1):
      Linux 4.14.40-rt31-rc1

Tom Zanussi (3):
      tracing: Add field modifier parsing hist error for hist triggers
      tracing: Add field parsing hist error for hist triggers
      tracing: Restore proper field flag printing when displaying triggers

----
 kernel/trace/trace_events_hist.c | 14 +++++++++++++-
 localversion-rt                  |  2 +-
 2 files changed, 14 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH RT 1/5] tracing: Add field modifier parsing hist error for hist triggers
  2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
@ 2018-05-16 13:36 ` Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 2/5] tracing: Add field " Steven Rostedt
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi

[-- Attachment #1: 0001-tracing-Add-field-modifier-parsing-hist-error-for-hi.patch --]
[-- Type: text/plain, Size: 1868 bytes --]

4.14.40-rt31-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Tom Zanussi <tom.zanussi@linux.intel.com>

[ commit dcf234577cd31fa16874e828b90659166ad6b80d ]

If the user specifies an invalid field modifier for a hist trigger,
the current code correctly flags that as an error, but doesn't tell
the user what happened.

Fix this by invoking hist_err() with an appropriate message when
invalid modifiers are specified.

Before:

  # echo 'hist:keys=pid:ts0=common_timestamp.junkusecs' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  -su: echo: write error: Invalid argument
  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/hist

After:

  # echo 'hist:keys=pid:ts0=common_timestamp.junkusecs' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  -su: echo: write error: Invalid argument
  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/hist
  ERROR: Invalid field modifier: junkusecs
    Last command: keys=pid:ts0=common_timestamp.junkusecs

Link: http://lkml.kernel.org/r/b043c59fa79acd06a5f14a1d44dee9e5a3cd1248.1524790601.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>
---
 kernel/trace/trace_events_hist.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index 37db86145c8b..b8fee11b5be9 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -2466,6 +2466,7 @@ parse_field(struct hist_trigger_data *hist_data, struct trace_event_file *file,
 		else if (strcmp(modifier, "usecs") == 0)
 			*flags |= HIST_FIELD_FL_TIMESTAMP_USECS;
 		else {
+			hist_err("Invalid field modifier: ", modifier);
 			field = ERR_PTR(-EINVAL);
 			goto out;
 		}
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH RT 2/5] tracing: Add field parsing hist error for hist triggers
  2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 1/5] tracing: Add field modifier parsing hist error for hist triggers Steven Rostedt
@ 2018-05-16 13:36 ` Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers Steven Rostedt
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi, Masami Hiramatsu

[-- Attachment #1: 0002-tracing-Add-field-parsing-hist-error-for-hist-trigge.patch --]
[-- Type: text/plain, Size: 1901 bytes --]

4.14.40-rt31-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Tom Zanussi <tom.zanussi@linux.intel.com>

[ commit 5ec432d7bf9dd3b4a2b84f8974e3adb71f45fb1d ]

If the user specifies a nonexistent field for a hist trigger, the
current code correctly flags that as an error, but doesn't tell the
user what happened.

Fix this by invoking hist_err() with an appropriate message when
nonexistent fields are specified.

Before:

  # echo 'hist:keys=pid:ts0=common_timestamp.usecs' >> /sys/kernel/debug/tracing/events/sched/sched_switch/trigger
  -su: echo: write error: Invalid argument
  # cat /sys/kernel/debug/tracing/events/sched/sched_switch/hist

After:

  # echo 'hist:keys=pid:ts0=common_timestamp.usecs' >> /sys/kernel/debug/tracing/events/sched/sched_switch/trigger
  -su: echo: write error: Invalid argument
  # cat /sys/kernel/debug/tracing/events/sched/sched_switch/hist
  ERROR: Couldn't find field: pid
    Last command: keys=pid:ts0=common_timestamp.usecs

Link: http://lkml.kernel.org/r/fdc8746969d16906120f162b99dd71c741e0b62c.1524790601.git.tom.zanussi@linux.intel.com

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Reported-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_events_hist.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index b8fee11b5be9..9dac8bae4f34 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -2482,6 +2482,7 @@ parse_field(struct hist_trigger_data *hist_data, struct trace_event_file *file,
 	else {
 		field = trace_find_event_field(file->event_call, field_name);
 		if (!field || !field->size) {
+			hist_err("Couldn't find field: ", field_name);
 			field = ERR_PTR(-EINVAL);
 			goto out;
 		}
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers
  2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 1/5] tracing: Add field modifier parsing hist error for hist triggers Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 2/5] tracing: Add field " Steven Rostedt
@ 2018-05-16 13:36 ` Steven Rostedt
  2018-05-16 15:32   ` Sebastian Andrzej Siewior
  2018-05-16 13:36 ` [PATCH RT 4/5] tracing: Uninitialized variable in create_tracing_map_fields() Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 5/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
  4 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi

[-- Attachment #1: 0003-tracing-Restore-proper-field-flag-printing-when-disp.patch --]
[-- Type: text/plain, Size: 2853 bytes --]

4.14.40-rt31-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Tom Zanussi <tom.zanussi@linux.intel.com>

[ commit 608940dabe1bd2ce4c97524004ec86637cf80f2c ]

The flag-printing code used when displaying hist triggers somehow got
dropped during refactoring of the inter-event patchset.  This restores
it.

Below are a couple examples - in the first case, .usecs wasn't being
displayed properly for common_timestamps and the second illustrates
the same for other flags such as .execname.

Before:

  # echo 'hist:key=common_pid.execname:val=count:sort=count' > /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
  # cat /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
  hist:keys=common_pid:vals=hitcount,count:sort=count:size=2048 [active]

  # echo 'hist:keys=pid:ts0=common_timestamp.usecs if comm=="cyclictest"' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  hist:keys=pid:vals=hitcount:ts0=common_timestamp:sort=hitcount:size=2048:clock=global if comm=="cyclictest" [active]

After:

  # echo 'hist:key=common_pid.execname:val=count:sort=count' > /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
  # cat /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
  hist:keys=common_pid.execname:vals=hitcount,count:sort=count:size=2048 [active]

  # echo 'hist:keys=pid:ts0=common_timestamp.usecs if comm=="cyclictest"' >> /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/trigger
  hist:keys=pid:vals=hitcount:ts0=common_timestamp.usecs:sort=hitcount:size=2048:clock=global if comm=="cyclictest" [active]

Link: http://lkml.kernel.org/r/492bab42ff21806600af98a8ea901af10efbee0c.1524790601.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>
---
 kernel/trace/trace_events_hist.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index 9dac8bae4f34..4745ed588607 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -4916,6 +4916,16 @@ static void hist_field_print(struct seq_file *m, struct hist_field *hist_field)
 		seq_printf(m, "%s", field_name);
 	} else if (hist_field->flags & HIST_FIELD_FL_TIMESTAMP)
 		seq_puts(m, "common_timestamp");
+
+	if (hist_field->flags) {
+		if (!(hist_field->flags & HIST_FIELD_FL_VAR_REF) &&
+		    !(hist_field->flags & HIST_FIELD_FL_EXPR)) {
+			const char *flags = get_hist_field_flags(hist_field);
+
+			if (flags)
+				seq_printf(m, ".%s", flags);
+		}
+	}
 }
 
 static int event_hist_trigger_print(struct seq_file *m,
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH RT 4/5] tracing: Uninitialized variable in create_tracing_map_fields()
  2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
                   ` (2 preceding siblings ...)
  2018-05-16 13:36 ` [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers Steven Rostedt
@ 2018-05-16 13:36 ` Steven Rostedt
  2018-05-16 13:36 ` [PATCH RT 5/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi, Dan Carpenter

[-- Attachment #1: 0004-tracing-Uninitialized-variable-in-create_tracing_map.patch --]
[-- Type: text/plain, Size: 1381 bytes --]

4.14.40-rt31-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Dan Carpenter <dan.carpenter@oracle.com>

[ commit b28d7b2dc27f0eef1ae608b49d6860f2463910f1 ]

Smatch complains that idx can be used uninitialized when we check if
(idx < 0).  It has to be the first iteration through the loop and the
HIST_FIELD_FL_STACKTRACE bit has to be clear and the HIST_FIELD_FL_VAR
bit has to be set to reach the bug.

Link: http://lkml.kernel.org/r/20180328114815.GC29050@mwanda

Fixes: 30350d65ac56 ("tracing: Add variable support to hist triggers")
Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_events_hist.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index 4745ed588607..b3808969ac92 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -4459,7 +4459,7 @@ static int create_tracing_map_fields(struct hist_trigger_data *hist_data)
 	struct tracing_map *map = hist_data->map;
 	struct ftrace_event_field *field;
 	struct hist_field *hist_field;
-	int i, idx;
+	int i, idx = 0;
 
 	for_each_hist_field(i, hist_data) {
 		hist_field = hist_data->fields[i];
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH RT 5/5] Linux 4.14.40-rt31-rc1
  2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
                   ` (3 preceding siblings ...)
  2018-05-16 13:36 ` [PATCH RT 4/5] tracing: Uninitialized variable in create_tracing_map_fields() Steven Rostedt
@ 2018-05-16 13:36 ` Steven Rostedt
  4 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 13:36 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi

[-- Attachment #1: 0005-Linux-4.14.40-rt31-rc1.patch --]
[-- Type: text/plain, Size: 412 bytes --]

4.14.40-rt31-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

---
 localversion-rt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/localversion-rt b/localversion-rt
index b72862e06be4..7f30ff78f82f 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt30
+-rt31-rc1
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers
  2018-05-16 13:36 ` [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers Steven Rostedt
@ 2018-05-16 15:32   ` Sebastian Andrzej Siewior
  2018-05-16 15:45     ` Steven Rostedt
  0 siblings, 1 reply; 8+ messages in thread
From: Sebastian Andrzej Siewior @ 2018-05-16 15:32 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi

On 2018-05-16 09:36:45 [-0400], Steven Rostedt wrote:
> diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
> index 9dac8bae4f34..4745ed588607 100644
> --- a/kernel/trace/trace_events_hist.c
> +++ b/kernel/trace/trace_events_hist.c
> @@ -4916,6 +4916,16 @@ static void hist_field_print(struct seq_file *m, struct hist_field *hist_field)
>  		seq_printf(m, "%s", field_name);
>  	} else if (hist_field->flags & HIST_FIELD_FL_TIMESTAMP)
>  		seq_puts(m, "common_timestamp");
> +
> +	if (hist_field->flags) {
> +		if (!(hist_field->flags & HIST_FIELD_FL_VAR_REF) &&
> +		    !(hist_field->flags & HIST_FIELD_FL_EXPR)) {
> +			const char *flags = get_hist_field_flags(hist_field);
> +
> +			if (flags)
> +				seq_printf(m, ".%s", flags);
> +		}
> +	}
>  }
>  
>  static int event_hist_trigger_print(struct seq_file *m,

For v4.16 I needed commit 0ae7961e75c3 ("tracing: Fix display of hist
trigger expressions containing timestamps") in order to get this one
cleanly applied. Comparing with -rc3 it looks like commit 5e4cf2bf6d1c
("tracing: Fix a potential NULL dereference") would be great addition.

Safe to take them, right?

Sebastian

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers
  2018-05-16 15:32   ` Sebastian Andrzej Siewior
@ 2018-05-16 15:45     ` Steven Rostedt
  0 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2018-05-16 15:45 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
	John Kacur, Paul Gortmaker, Julia Cartwright, Daniel Wagner,
	tom.zanussi

On Wed, 16 May 2018 17:32:14 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:

> On 2018-05-16 09:36:45 [-0400], Steven Rostedt wrote:
> > diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
> > index 9dac8bae4f34..4745ed588607 100644
> > --- a/kernel/trace/trace_events_hist.c
> > +++ b/kernel/trace/trace_events_hist.c
> > @@ -4916,6 +4916,16 @@ static void hist_field_print(struct seq_file *m, struct hist_field *hist_field)
> >  		seq_printf(m, "%s", field_name);
> >  	} else if (hist_field->flags & HIST_FIELD_FL_TIMESTAMP)
> >  		seq_puts(m, "common_timestamp");
> > +
> > +	if (hist_field->flags) {
> > +		if (!(hist_field->flags & HIST_FIELD_FL_VAR_REF) &&
> > +		    !(hist_field->flags & HIST_FIELD_FL_EXPR)) {
> > +			const char *flags = get_hist_field_flags(hist_field);
> > +
> > +			if (flags)
> > +				seq_printf(m, ".%s", flags);
> > +		}
> > +	}
> >  }
> >  
> >  static int event_hist_trigger_print(struct seq_file *m,  
> 
> For v4.16 I needed commit 0ae7961e75c3 ("tracing: Fix display of hist
> trigger expressions containing timestamps") in order to get this one

Yes, I assumed you had it as you pulled it into 4.14-rt. I was just
looking at what 4.14-rt has. Anything you added there you should add to
4.16-rt as well.

> cleanly applied. Comparing with -rc3 it looks like commit 5e4cf2bf6d1c
> ("tracing: Fix a potential NULL dereference") would be great addition.

Good catch, yeah, I should pull that in too.

> 
> Safe to take them, right?

Yep.

-- Steve

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-16 15:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-16 13:36 [PATCH RT 0/5] Linux 4.14.40-rt31-rc1 Steven Rostedt
2018-05-16 13:36 ` [PATCH RT 1/5] tracing: Add field modifier parsing hist error for hist triggers Steven Rostedt
2018-05-16 13:36 ` [PATCH RT 2/5] tracing: Add field " Steven Rostedt
2018-05-16 13:36 ` [PATCH RT 3/5] tracing: Restore proper field flag printing when displaying triggers Steven Rostedt
2018-05-16 15:32   ` Sebastian Andrzej Siewior
2018-05-16 15:45     ` Steven Rostedt
2018-05-16 13:36 ` [PATCH RT 4/5] tracing: Uninitialized variable in create_tracing_map_fields() Steven Rostedt
2018-05-16 13:36 ` [PATCH RT 5/5] Linux 4.14.40-rt31-rc1 Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.