All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/7] tracing: Add dynamic strings for synthetic events
@ 2020-10-04 22:14 Tom Zanussi
  2020-10-04 22:14 ` [PATCH v4 1/7] tracing: Change STR_VAR_MAX_LEN Tom Zanussi
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Tom Zanussi @ 2020-10-04 22:14 UTC (permalink / raw)
  To: rostedt, axelrasmussen; +Cc: mhiramat, linux-kernel

Hi,

This is v4 of the dynamic string support for synthetic events.

This version adds several patches addressing previous comments - a new
testcase for the dynamic synth event strings along with a patch adding
a blurb about the synthetic_events file, which should have been there
in any case, Steve's patch for preventing string printing overruns
(tracing: Change synthetic event string format to limit printed
length).

There's also a new patch (tracing: Save normal string variables) that
fixes a bug I found when adding the test case.  The problem it fixes
is only apparent when using the dynamic strings, although it could
also happen with static strings.  I wasn't able to produce the problem
with static strings, in any case.

Other changes include adding the BUILD_BUG_ON() to the (tracing:
Change STR_VAR_MAX_LEN) patch, and folding in Steve's
__set_synth_event_print_fmt() adding __get_str() calls for trace-cmd.

Thanks,

Tom


Previous versions text:

Hi,

This is v3 of the dynamic string support for synthetic events.

No code changes since v2, just added Fixes: tag for 'tracing: Fix
parse_synth_field() error handling' as suggested by Masami along with
his Reviewed-by, and Axel's Tested-bys.

Thanks,

Tom


Hi,

This is v2 of the dynamic string support for synthetic events.

v1 was missing some very important code in the in-kernel API functions
that should have reserved room for dynamic strings.  This adds it
along also some additional test code in the synth_event_gen_test
module that tests the dynamic strings for those APIs.

I also added Axel's changelog text to the 'tracing: Fix
parse_synth_field() error handling' patch and used ssize_t as he also
suggested.  Thanks, Axel!  I also noticed that the original patch
didn't use <= as it should have, so changed that as well.

Neither my command-line tests or the synth_event_gen_test module are
showing any problems at this point for me...

Tom

Original v1 text:

This patchset adds support for dynamic strings for synthetic events,
as requested by Axel Rasmussen.

Actually, the first two patches should be applied in any case - the
first just changes the current max string length and the second fixes
a bug I found while testing.

It works fine for my simple test cases, but I still need to do a lot
more testing, especially of the in-kernel API parts, which don't
affect Axel's use case.

Anyway, Axel, please try it out and send me your Tested-by: if it
works for you, and your broken testcase(s) if it doesn't. ;-)

Thanks,

Tom

The following changes since commit fdb46faeab2f3fa2b43a55059b33b8f98b2e1442:

  x86: Use tracepoint_enabled() for msr tracepoints instead of open coding it (2020-09-28 10:36:02 -0400)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/synth-dynstring-v4

Steven Rostedt (1):
  tracing: Change synthetic event string format to limit printed length

Tom Zanussi (6):
  tracing: Change STR_VAR_MAX_LEN
  tracing: Fix parse_synth_field() error handling
  tracing: Save normal string variables
  tracing: Add support for dynamic strings to synthetic events
  tracing: Add README information for synthetic_events file
  selftests/ftrace: Add test case for synthetic event dynamic strings

 Documentation/trace/events.rst                |  15 +-
 Documentation/trace/histogram.rst             |  18 ++
 kernel/trace/synth_event_gen_test.c           |  18 +-
 kernel/trace/trace.c                          |   7 +-
 kernel/trace/trace_events_hist.c              |  45 ++-
 kernel/trace/trace_events_synth.c             | 256 +++++++++++++++---
 kernel/trace/trace_synth.h                    |   6 +-
 .../trigger-synthetic-event-dynstring.tc      |  31 +++
 8 files changed, 350 insertions(+), 46 deletions(-)
 create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-dynstring.tc

-- 
2.17.1


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

end of thread, other threads:[~2020-10-09 11:15 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-04 22:14 [PATCH v4 0/7] tracing: Add dynamic strings for synthetic events Tom Zanussi
2020-10-04 22:14 ` [PATCH v4 1/7] tracing: Change STR_VAR_MAX_LEN Tom Zanussi
2020-10-04 22:14 ` [PATCH v4 2/7] tracing: Fix parse_synth_field() error handling Tom Zanussi
2020-10-04 22:14 ` [PATCH v4 3/7] tracing: Save normal string variables Tom Zanussi
2020-10-04 22:14 ` [PATCH v4 4/7] tracing: Add support for dynamic strings to synthetic events Tom Zanussi
2020-10-08  9:22   ` Masami Hiramatsu
2020-10-08 19:21     ` Steven Rostedt
2020-10-09 11:15       ` Masami Hiramatsu
2020-10-08 20:33     ` Tom Zanussi
2020-10-04 22:14 ` [PATCH v4 5/7] tracing: Add README information for synthetic_events file Tom Zanussi
2020-10-08  0:38   ` Masami Hiramatsu
2020-10-04 22:14 ` [PATCH v4 6/7] selftests/ftrace: Add test case for synthetic event dynamic strings Tom Zanussi
2020-10-08  0:21   ` Masami Hiramatsu
2020-10-04 22:14 ` [PATCH v4 7/7] tracing: Change synthetic event string format to limit printed length Tom Zanussi
2020-10-05 22:17   ` Steven Rostedt
2020-10-07 14:24     ` Tom Zanussi

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.