Re: [PATCH 6/6] uprobes/perf: Always increment trace_uprobe->nhit

Srikar Dronamraju
2013-02-04T11:19:17Z

* Oleg Nesterov <oleg@redhat.com> [2013-01-31 20:18:32]:

> Move tu->nhit++ from uprobe_trace_func() to uprobe_dispatcher().
>
> ->nhit counts how many time we hit the breakpoint inserted by this
> uprobe, we do not want to loose this info if uprobe was enabled by
> sys_perf_event_open().
>

Though I dont see a problem with this change, It seems unnecessary for
me.

Info from nhits is mostly for /sys/kernel/debug/tracing/uprobe_profile

I am not sure how sys_perf_event_open() is making use of this?

> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
> ---
> kernel/trace/trace_uprobe.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
> index 55cdc14..0a9a8de 100644
> --- a/kernel/trace/trace_uprobe.c
> +++ b/kernel/trace/trace_uprobe.c
> @@ -473,8 +473,6 @@ static void uprobe_trace_func(struct trace_uprobe *tu, struct pt_regs *regs)
> unsigned long irq_flags;
> struct ftrace_event_call *call = &tu->call;
>
> - tu->nhit++;
> -
> local_save_flags(irq_flags);
> pc = preempt_count();
>
> @@ -698,6 +696,7 @@ static int uprobe_dispatcher(struct uprobe_consumer *con, struct pt_regs *regs)
> struct trace_uprobe *tu;
>
> tu = container_of(con, struct trace_uprobe, consumer);
> + tu->nhit++;
>
> if (tu->flags & TP_FLAG_TRACE)
> uprobe_trace_func(tu, regs);
> --
> 1.5.5.1
>

--
Thanks and Regards
Srikar Dronamraju