All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Tom Zanussi <tom.zanussi@linux.intel.com>,
	Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Subject: [RFC PATCH 0/5] tracing: Unifying dynamic event interface
Date: Fri, 28 Sep 2018 00:58:33 +0900	[thread overview]
Message-ID: <153806391326.18458.3927382953014694981.stgit@devbox> (raw)

Hi,

This is an RFC series of unifying dynamic event interface on ftrace.
Currently ftrace has 3 dynamic event interfaces, kprobes, uprobes
and synthetic. This series unifies kprobes and uprobes event
interface on "dynamic_events". This enables us to add new dynamic
events easily on same interface, e.g. function events.
The older interfaces are left on the tracefs for backward
compatibility at this moment.

dynamic_events syntax has no different from kprobe_events and
uprobe_events. You can use same syntax for dynamic_events interface.

I think we can integrate synthetic events to this dynamic_events
interface but it will requires new syntax. e.g.

echo "s:<event-name> <args>" >> dynamic_events

If it is OK, I'll add it in next version.

BTW, since this dynamic_events interface derived from *probe_events,
it inherits "all clear when truncate file open" behavior. But if you
think this is too aggressive, I can drop it. (even in that case,
kprobe_events/uprobe_events behavior is not changed)

I also introduced a widely used way to erase entries in other
interfaces of ftrace, that is '!'. So you can now use '!event-name'
or '!group/event' to erase an entry in dynamic_events.
(Wait... it has to be '!p:event' as others do??)

Any thought?

Thank you,

---

Masami Hiramatsu (5):
      tracing/uprobes: Add busy check when cleanup all uprobes
      tracing: Add a unified dynamic event framework
      tracing/kprobes: Use dyn_event framework for kprobe events
      tracing/uprobes: Use dyn_event framework for uprobe events
      tracing: Add generic event-name based remove event method


 Documentation/trace/kprobetrace.rst  |    3 +
 Documentation/trace/uprobetracer.rst |    4 +
 kernel/trace/Kconfig                 |    4 +
 kernel/trace/Makefile                |    1 
 kernel/trace/trace.c                 |    4 +
 kernel/trace/trace_dynevent.c        |  183 +++++++++++++++++++++++++++++++++
 kernel/trace/trace_dynevent.h        |   89 ++++++++++++++++
 kernel/trace/trace_kprobe.c          |  191 +++++++++++++++++++++++-----------
 kernel/trace/trace_uprobe.c          |  175 +++++++++++++++++++++++--------
 9 files changed, 547 insertions(+), 107 deletions(-)
 create mode 100644 kernel/trace/trace_dynevent.c
 create mode 100644 kernel/trace/trace_dynevent.h

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

             reply	other threads:[~2018-09-27 15:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-27 15:58 Masami Hiramatsu [this message]
2018-09-27 15:59 ` [RFC PATCH 1/5] tracing/uprobes: Add busy check when cleanup all uprobes Masami Hiramatsu
2018-09-27 15:59 ` [RFC PATCH 2/5] tracing: Add a unified dynamic event framework Masami Hiramatsu
2018-09-27 15:59 ` [RFC PATCH 3/5] tracing/kprobes: Use dyn_event framework for kprobe events Masami Hiramatsu
2018-09-27 16:00 ` [RFC PATCH 4/5] tracing/uprobes: Use dyn_event framework for uprobe events Masami Hiramatsu
2018-09-27 16:00 ` [RFC PATCH 5/5] tracing: Add generic event-name based remove event method Masami Hiramatsu
2018-10-01 13:49 ` [RFC PATCH 0/5] tracing: Unifying dynamic event interface Tom Zanussi
2018-10-02  7:45   ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=153806391326.18458.3927382953014694981.stgit@devbox \
    --to=mhiramat@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=ravi.bangoria@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    --cc=tom.zanussi@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.