[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180503235721.d1dbc6f5bfdfc97e6200b7de@kernel.org>
Date: Thu, 3 May 2018 23:57:21 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>
Cc: oleg@...hat.com, peterz@...radead.org, srikar@...ux.vnet.ibm.com,
rostedt@...dmis.org, acme@...nel.org, ananth@...ux.vnet.ibm.com,
akpm@...ux-foundation.org, alexander.shishkin@...ux.intel.com,
alexis.berlemont@...il.com, corbet@....net,
dan.j.williams@...el.com, jolsa@...hat.com, kan.liang@...el.com,
kjlx@...pleofstupid.com, kstewart@...uxfoundation.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, milian.wolff@...b.com, mingo@...hat.com,
namhyung@...nel.org, naveen.n.rao@...ux.vnet.ibm.com,
pc@...ibm.com, tglx@...utronix.de, yao.jin@...ux.intel.com,
fengguang.wu@...el.com, jglisse@...hat.com,
Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Subject: Re: [PATCH v3 8/9] trace_uprobe/sdt: Document about reference
counter
On Tue, 17 Apr 2018 10:02:43 +0530
Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com> wrote:
> From: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
>
> Reference counter gate the invocation of probe. If present,
> by default reference count is 0. Kernel needs to increment
> it before tracing the probe and decrement it when done. This
> is identical to semaphore in Userspace Statically Defined
> Tracepoints (USDT).
>
> Document usage of reference counter.
>
> Signed-off-by: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Looks good to me.
Acked-by: Masami Hiramatsu <mhiramat@...nel.org>
Thanks!
> ---
> Documentation/trace/uprobetracer.txt | 16 +++++++++++++---
> kernel/trace/trace.c | 2 +-
> 2 files changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/trace/uprobetracer.txt b/Documentation/trace/uprobetracer.txt
> index bf526a7c..cb6751d 100644
> --- a/Documentation/trace/uprobetracer.txt
> +++ b/Documentation/trace/uprobetracer.txt
> @@ -19,15 +19,25 @@ user to calculate the offset of the probepoint in the object.
>
> Synopsis of uprobe_tracer
> -------------------------
> - p[:[GRP/]EVENT] PATH:OFFSET [FETCHARGS] : Set a uprobe
> - r[:[GRP/]EVENT] PATH:OFFSET [FETCHARGS] : Set a return uprobe (uretprobe)
> - -:[GRP/]EVENT : Clear uprobe or uretprobe event
> + p[:[GRP/]EVENT] PATH:OFFSET[(REF_CTR_OFFSET)] [FETCHARGS]
> + r[:[GRP/]EVENT] PATH:OFFSET[(REF_CTR_OFFSET)] [FETCHARGS]
> + -:[GRP/]EVENT
> +
> + p : Set a uprobe
> + r : Set a return uprobe (uretprobe)
> + - : Clear uprobe or uretprobe event
>
> GRP : Group name. If omitted, "uprobes" is the default value.
> EVENT : Event name. If omitted, the event name is generated based
> on PATH+OFFSET.
> PATH : Path to an executable or a library.
> OFFSET : Offset where the probe is inserted.
> + REF_CTR_OFFSET: Reference counter offset. Optional field. Reference count
> + gate the invocation of probe. If present, by default
> + reference count is 0. Kernel needs to increment it before
> + tracing the probe and decrement it when done. This is
> + identical to semaphore in Userspace Statically Defined
> + Tracepoints (USDT).
>
> FETCHARGS : Arguments. Each probe can have up to 128 args.
> %REG : Fetch register REG
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 300f4ea..d211937 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -4604,7 +4604,7 @@ static int tracing_trace_options_open(struct inode *inode, struct file *file)
> "place (kretprobe): [<module>:]<symbol>[+<offset>]|<memaddr>\n"
> #endif
> #ifdef CONFIG_UPROBE_EVENTS
> - "\t place: <path>:<offset>\n"
> + " place (uprobe): <path>:<offset>[(ref_ctr_offset)]\n"
> #endif
> "\t args: <name>=fetcharg[:type]\n"
> "\t fetcharg: %<register>, @<address>, @<symbol>[+|-<offset>],\n"
> --
> 1.8.3.1
>
--
Masami Hiramatsu <mhiramat@...nel.org>
Powered by blists - more mailing lists