Re: [PATCH net-next v4 0/6] net: tcp: sctp: dccp: Replace jprobe usage with trace events

From: Masami Hiramatsu
Date: Wed Dec 20 2017 - 21:37:25 EST


On Wed, 20 Dec 2017 14:24:24 -0500 (EST)
David Miller <davem@xxxxxxxxxxxxx> wrote:

> From: David Miller <davem@xxxxxxxxxxxxx>
> Date: Wed, 20 Dec 2017 14:20:40 -0500 (EST)
>
> > From: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > Date: Wed, 20 Dec 2017 13:14:11 +0900
> >
> >> This series is v4 of the replacement of jprobe usage with trace
> >> events. This version is rebased on net-next, fixes a build warning
> >> and moves a temporal variable definition in a block.
> >>
> >> Previous version is here;
> >> https://lkml.org/lkml/2017/12/19/153
> >>
> >> Changes from v3:
> >> All: Rebased on net-next
> >> [3/6]: fixes a build warning for i386 by casting pointer unsigned
> >> long instead of __u64, and moves a temporal variable
> >> definition in a block.
> >
> > Looks good, series applied to net-next, thanks.
>
> Actually, this doesn't even compile, so I've reverted:
>
> [davem@dhcp-10-15-49-227 net-next]$ make -s -j16
> In file included from net/dccp/trace.h:105:0,
> from net/dccp/proto.c:42:
> ./include/trace/define_trace.h:89:42: fatal error: ./trace.h: No such file or directory
> #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
> ^
> compilation terminated.

Hi David,

Could you share your .config file? I would like to reproduce it.
When I tried with attached kconfig, I could not reproduce this issue,
and could run it.

====
/sys/kernel/debug/tracing/events # cd dccp/
/sys/kernel/debug/tracing/events/dccp # ls
dccp_probe enable filter
/sys/kernel/debug/tracing/events/dccp # cd dccp_probe/
/sys/kernel/debug/tracing/events/dccp/dccp_probe # ls
enable filter format hist id trigger
/sys/kernel/debug/tracing/events/dccp/dccp_probe # cat format
name: dccp_probe
ID: 1002
format:
field:unsigned short common_type; offset:0; size:2; signed:0;
field:unsigned char common_flags; offset:2; size:1; signed:0;
field:unsigned char common_preempt_count; offset:3; size:1; signed:0;
field:int common_pid; offset:4; size:4; signed:1;

field:__u8 saddr[sizeof(struct sockaddr_in6)]; offset:8; size:28; signed:0;
field:__u8 daddr[sizeof(struct sockaddr_in6)]; offset:36; size:28; signed:0;
field:__u16 sport; offset:64; size:2; signed:0;
field:__u16 dport; offset:66; size:2; signed:0;
field:__u16 size; offset:68; size:2; signed:0;
field:__u16 tx_s; offset:70; size:2; signed:0;
field:__u32 tx_rtt; offset:72; size:4; signed:0;
field:__u32 tx_p; offset:76; size:4; signed:0;
field:__u32 tx_x_calc; offset:80; size:4; signed:0;
field:__u64 tx_x_recv; offset:88; size:8; signed:0;
field:__u64 tx_x; offset:96; size:8; signed:0;
field:__u32 tx_t_ipi; offset:104; size:4; signed:0;

print fmt: "src=%pISpc dest=%pISpc size=%d tx_s=%d tx_rtt=%d tx_p=%d tx_x_calc=%u tx_x_recv=%llu tx_x=%llu tx_t_ipi=%d", REC->saddr, REC->daddr, REC->size, REC->tx_s, REC->tx_rtt, REC->tx_p, REC->tx_x_calc, REC->tx_x_recv, REC->tx_x, REC->tx_t_ipi
====

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Attachment: kconfig
Description: Binary data