linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] tracing/kprobes: 'nmissed' not showed correctly for kretprobe
@ 2022-01-07 15:02 Xiangyang Zhang
  2022-01-08  4:11 ` Masami Hiramatsu
  0 siblings, 1 reply; 2+ messages in thread
From: Xiangyang Zhang @ 2022-01-07 15:02 UTC (permalink / raw)
  To: rostedt; +Cc: mingo, mhiramat, oleg, linux-kernel, xyz.sun.ok

The 'nmissed' column of the 'kprobe_profile' file for kretprobe is
not showed correctly, kretprobe can be skipped by two reasons,
shortage of kretprobe_instance which is counted by tk->rp.nmissed,
and kprobe itself is missed by some reason, so to show the sum.

Fixes: 4a846b443b4e ("tracing/kprobes: Cleanup kprobe tracer code")
Signed-off-by: Xiangyang Zhang <xyz.sun.ok@gmail.com>
---
 kernel/trace/trace_kprobe.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index f8c26ee72de3..3d85323278ed 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -1170,15 +1170,18 @@ static int probes_profile_seq_show(struct seq_file *m, void *v)
 {
 	struct dyn_event *ev = v;
 	struct trace_kprobe *tk;
+	unsigned long nmissed;
 
 	if (!is_trace_kprobe(ev))
 		return 0;
 
 	tk = to_trace_kprobe(ev);
+	nmissed = trace_kprobe_is_return(tk) ?
+		tk->rp.kp.nmissed + tk->rp.nmissed : tk->rp.kp.nmissed;
 	seq_printf(m, "  %-44s %15lu %15lu\n",
 		   trace_probe_name(&tk->tp),
 		   trace_kprobe_nhit(tk),
-		   tk->rp.kp.nmissed);
+		   nmissed);
 
 	return 0;
 }
-- 
2.25.1


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

* Re: [PATCH v2] tracing/kprobes: 'nmissed' not showed correctly for kretprobe
  2022-01-07 15:02 [PATCH v2] tracing/kprobes: 'nmissed' not showed correctly for kretprobe Xiangyang Zhang
@ 2022-01-08  4:11 ` Masami Hiramatsu
  0 siblings, 0 replies; 2+ messages in thread
From: Masami Hiramatsu @ 2022-01-08  4:11 UTC (permalink / raw)
  To: Xiangyang Zhang; +Cc: rostedt, mingo, mhiramat, oleg, linux-kernel

On Fri,  7 Jan 2022 23:02:42 +0800
Xiangyang Zhang <xyz.sun.ok@gmail.com> wrote:

> The 'nmissed' column of the 'kprobe_profile' file for kretprobe is
> not showed correctly, kretprobe can be skipped by two reasons,
> shortage of kretprobe_instance which is counted by tk->rp.nmissed,
> and kprobe itself is missed by some reason, so to show the sum.
> 

Thanks! This looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>

> Fixes: 4a846b443b4e ("tracing/kprobes: Cleanup kprobe tracer code")
> Signed-off-by: Xiangyang Zhang <xyz.sun.ok@gmail.com>
> ---
>  kernel/trace/trace_kprobe.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
> index f8c26ee72de3..3d85323278ed 100644
> --- a/kernel/trace/trace_kprobe.c
> +++ b/kernel/trace/trace_kprobe.c
> @@ -1170,15 +1170,18 @@ static int probes_profile_seq_show(struct seq_file *m, void *v)
>  {
>  	struct dyn_event *ev = v;
>  	struct trace_kprobe *tk;
> +	unsigned long nmissed;
>  
>  	if (!is_trace_kprobe(ev))
>  		return 0;
>  
>  	tk = to_trace_kprobe(ev);
> +	nmissed = trace_kprobe_is_return(tk) ?
> +		tk->rp.kp.nmissed + tk->rp.nmissed : tk->rp.kp.nmissed;
>  	seq_printf(m, "  %-44s %15lu %15lu\n",
>  		   trace_probe_name(&tk->tp),
>  		   trace_kprobe_nhit(tk),
> -		   tk->rp.kp.nmissed);
> +		   nmissed);
>  
>  	return 0;
>  }
> -- 
> 2.25.1
> 


-- 
Masami Hiramatsu <mhiramat@kernel.org>

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

end of thread, other threads:[~2022-01-08  4:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-07 15:02 [PATCH v2] tracing/kprobes: 'nmissed' not showed correctly for kretprobe Xiangyang Zhang
2022-01-08  4:11 ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).