On Wed, Mar 29, 2017 at 7:22 AM, Masami Hiramatsu wrote:
> Show sum of probe and retprobe nmissed count in
> kprobe_profile, since retprobe can be missed even
> if the kprobe itself succeeeded.
> This explains user why their return probe didn't hit
> sometimes.
>
> Signed-off-by: Masami Hiramatsu
I tested this patch with my kretprobe on "inet_csk_accept" when there
are many processes waiting in the accept() syscall. I can now
successfully see the nmissed counter in
/sys/kernel/debug/tracing/kprobe_profile being incremented when the
kretprobe is missed.
Tested-by: Alban Crequy
> ---
> kernel/trace/trace_kprobe.c |2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
> index 013f4e7..bbdc3de 100644
> --- a/kernel/trace/trace_kprobe.c
> +++ b/kernel/trace/trace_kprobe.c
> @@ -896,7 +896,7 @@ static int probes_profile_seq_show(struct seq_file *m,
> void *v)
> seq_printf(m, " %-44s %15lu %15lu\n",
>trace_event_name(>tp.call),
>trace_kprobe_nhit(tk),
> - tk->rp.kp.nmissed);
> + tk->rp.kp.nmissed + tk->rp.nmissed);
>
> return 0;
> }
>