| From dff1664d32c425be8d25027a3c53a2a0a895fb3a Mon Sep 17 00:00:00 2001 |
| From: Tom Zanussi <tom.zanussi@linux.intel.com> |
| Date: Thu, 26 Apr 2018 20:04:47 -0500 |
| Subject: [PATCH 1790/1795] tracing: Restore proper field flag printing when |
| displaying triggers |
| |
| 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> |
| (cherry picked from commit 608940dabe1bd2ce4c97524004ec86637cf80f2c) |
| Signed-off-by: Hirotaka MOTAI <Motai.Hirotaka@aj.MitsubishiElectric.co.jp> |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| --- |
| 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 0d7b3ffbecc2..66c87be4ebb2 100644 |
| --- a/kernel/trace/trace_events_hist.c |
| +++ b/kernel/trace/trace_events_hist.c |
| @@ -4913,6 +4913,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.19.0 |
| |