* [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.