All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] perf/probe: Support multiprobe and immediates
@ 2019-11-05  0:16 Masami Hiramatsu
  2019-11-05  0:16 ` [PATCH 1/5] perf probe: Return a better scope DIE if there is no best scope Masami Hiramatsu
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Masami Hiramatsu @ 2019-11-05  0:16 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Masami Hiramatsu, Ingo Molnar, Steven Rostedt, linux-kernel,
	Tom Zanussi, Ravi Bangoria, Namhyung Kim

This series adds multiprobe support on perf probe command.

This can be applied on top of my previous (sent last week)
bugfix series,

https://lkml.kernel.org/r/157241935028.32002.10228194508152968737.stgit@devnote2

Inlined functions or the lines which have multiple statements can
be compiled in multiple addresses. Current perf probe generates
different events for each address, but this is not useful for
users.

Since ftrace multiprobe per event support is on ftrace/for-next,
it is a time to push this series. To support multi-probe, this
adds below 4 patches + 1 minor fix.

 - Fix a rare case bug for missing scope-DIE in some inlined
   functions.
 - Modify the naming scheme of probe event to Line number based
   instead of function name based.
 - Add multi-probe support on perf probe. This also converts
   different register assignment on local variables for each
   probe point.
 - Add const value attribute support. It is possible that the
   compiler assigns a constant value for optimized function
   parameter or local variables. This handles such case.
 - Introduce a magic number assignment to non-exist local variable.
   Inlined functions can be embedded (inlined) in caller function
   and the parameter or local vars in such inlined function can be
   optimized out some place, but in some place we still can see
   those vars. For supporting multiprobe correctly, we need to
   fill out some value even if we can not find the given local vars.
   So this fills it with "0xdeade12d(dead end)" magic number.


Thank you,

---

Masami Hiramatsu (5):
      perf probe: Return a better scope DIE if there is no best scope
      perf probe: Generate event name with line number
      perf probe: Support multiprobe event
      perf probe: Support DW_AT_const_value constant value
      perf probe: Trace a magic number if variable is not found


 tools/perf/util/probe-event.c  |   19 +++++++-
 tools/perf/util/probe-event.h  |    3 +
 tools/perf/util/probe-file.c   |   14 ++++++
 tools/perf/util/probe-file.h   |    2 +
 tools/perf/util/probe-finder.c |   90 ++++++++++++++++++++++++++++++++++++++--
 tools/perf/util/probe-finder.h |    1 
 6 files changed, 121 insertions(+), 8 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

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

end of thread, other threads:[~2019-11-12 11:21 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-05  0:16 [PATCH 0/5] perf/probe: Support multiprobe and immediates Masami Hiramatsu
2019-11-05  0:16 ` [PATCH 1/5] perf probe: Return a better scope DIE if there is no best scope Masami Hiramatsu
2019-11-06 19:51   ` Arnaldo Carvalho de Melo
2019-11-12 11:17   ` [tip: perf/core] " tip-bot2 for Masami Hiramatsu
2019-11-05  0:16 ` [PATCH 2/5] perf probe: Generate event name with line number Masami Hiramatsu
2019-11-06 19:54   ` Arnaldo Carvalho de Melo
2019-11-07 13:43     ` Masami Hiramatsu
2019-11-07 13:55       ` Arnaldo Carvalho de Melo
2019-11-05  0:17 ` [PATCH 3/5] perf probe: Support multiprobe event Masami Hiramatsu
2019-11-06 19:56   ` Arnaldo Carvalho de Melo
2019-11-07 13:47     ` Masami Hiramatsu
2019-11-05  0:17 ` [PATCH 4/5] perf probe: Support DW_AT_const_value constant value Masami Hiramatsu
2019-11-06 19:56   ` Arnaldo Carvalho de Melo
2019-11-05  0:17 ` [PATCH 5/5] perf probe: Trace a magic number if variable is not found Masami Hiramatsu
2019-11-06 20:00   ` Arnaldo Carvalho de Melo

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.